diff --git a/app/src/main/java/org/mian/gitnex/activities/CreateIssueActivity.java b/app/src/main/java/org/mian/gitnex/activities/CreateIssueActivity.java index 31d07e44..bd057076 100644 --- a/app/src/main/java/org/mian/gitnex/activities/CreateIssueActivity.java +++ b/app/src/main/java/org/mian/gitnex/activities/CreateIssueActivity.java @@ -5,6 +5,9 @@ import android.app.DatePickerDialog; import android.content.Context; import android.os.Bundle; import android.view.LayoutInflater; +import android.view.Menu; +import android.view.MenuInflater; +import android.view.MenuItem; import android.view.MotionEvent; import android.view.View; import android.view.inputmethod.InputMethodManager; @@ -12,6 +15,7 @@ import android.widget.ArrayAdapter; import android.widget.TextView; import androidx.annotation.NonNull; import com.google.android.material.dialog.MaterialAlertDialogBuilder; +import com.vdurmont.emoji.EmojiParser; import java.util.ArrayList; import java.util.Calendar; import java.util.Date; @@ -36,6 +40,7 @@ import org.mian.gitnex.fragments.IssuesFragment; import org.mian.gitnex.helpers.AlertDialogs; import org.mian.gitnex.helpers.AppUtil; import org.mian.gitnex.helpers.Constants; +import org.mian.gitnex.helpers.Markdown; import org.mian.gitnex.helpers.Toasty; import org.mian.gitnex.helpers.contexts.RepositoryContext; import retrofit2.Call; @@ -62,6 +67,7 @@ public class CreateIssueActivity extends BaseActivity private MaterialAlertDialogBuilder materialAlertDialogBuilder; private List labelsIds = new ArrayList<>(); private List assigneesListData = new ArrayList<>(); + private boolean renderMd = false; @SuppressLint("ClickableViewAccessibility") @Override @@ -71,6 +77,7 @@ public class CreateIssueActivity extends BaseActivity viewBinding = ActivityCreateIssueBinding.inflate(getLayoutInflater()); setContentView(viewBinding.getRoot()); + setSupportActionBar(viewBinding.toolbar); boolean connToInternet = AppUtil.hasNetworkConnection(appCtx); @@ -137,6 +144,47 @@ public class CreateIssueActivity extends BaseActivity } } + @Override + public boolean onCreateOptionsMenu(@NonNull Menu menu) { + + MenuInflater inflater = getMenuInflater(); + inflater.inflate(R.menu.markdown_switcher, menu); + + return true; + } + + @Override + public boolean onOptionsItemSelected(MenuItem item) { + + int id = item.getItemId(); + + if (id == R.id.markdown) { + + if (!renderMd) { + Markdown.render( + ctx, + EmojiParser.parseToUnicode( + Objects.requireNonNull( + Objects.requireNonNull( + viewBinding.newIssueDescription.getText()) + .toString())), + viewBinding.markdownPreview); + + viewBinding.markdownPreview.setVisibility(View.VISIBLE); + viewBinding.newIssueDescriptionLayout.setVisibility(View.GONE); + renderMd = true; + } else { + viewBinding.markdownPreview.setVisibility(View.GONE); + viewBinding.newIssueDescriptionLayout.setVisibility(View.VISIBLE); + renderMd = false; + } + + return true; + } else { + return super.onOptionsItemSelected(item); + } + } + @Override public void assigneesInterface(List data) { diff --git a/app/src/main/res/layout/activity_create_issue.xml b/app/src/main/res/layout/activity_create_issue.xml index 25716ce1..49fff79f 100644 --- a/app/src/main/res/layout/activity_create_issue.xml +++ b/app/src/main/res/layout/activity_create_issue.xml @@ -30,7 +30,7 @@ android:contentDescription="@string/close" android:focusable="true" android:gravity="center_vertical" - android:src="@drawable/ic_close"/> + android:src="@drawable/ic_close" /> + android:textSize="@dimen/dimen20sp" /> @@ -93,7 +93,7 @@ android:textColor="?attr/inputTextColor" android:textColorHighlight="?attr/hintColor" android:textColorHint="?attr/hintColor" - android:textSize="@dimen/dimen16sp"/> + android:textSize="@dimen/dimen16sp" /> @@ -114,17 +114,29 @@ + android:textSize="@dimen/dimen16sp" /> + + + android:textSize="@dimen/dimen16sp" /> @@ -168,7 +180,7 @@ android:inputType="none" android:labelFor="@+id/newIssueMilestoneSpinner" android:textColor="?attr/inputTextColor" - android:textSize="@dimen/dimen16sp"/> + android:textSize="@dimen/dimen16sp" /> @@ -191,7 +203,7 @@ android:textColor="?attr/inputTextColor" android:textColorHighlight="?attr/hintColor" android:textColorHint="?attr/hintColor" - android:textSize="@dimen/dimen16sp"/> + android:textSize="@dimen/dimen16sp" /> @@ -218,7 +230,7 @@ android:textColor="?attr/inputTextColor" android:textColorHighlight="?attr/hintColor" android:textColorHint="?attr/hintColor" - android:textSize="@dimen/dimen16sp"/> + android:textSize="@dimen/dimen16sp" /> @@ -229,7 +241,7 @@ android:layout_marginTop="@dimen/dimen8dp" android:text="@string/newCreateButtonCopy" android:textColor="@color/btnTextColor" - android:textStyle="bold"/> + android:textStyle="bold" />