Skip to content

Commit

Permalink
Simplify TextAction handling code, by @harshad1 (PR #1626)
Browse files Browse the repository at this point in the history
* Also fixes view state rotation and improves start position, closes  #1626 #1636 #1635

Co-authored-by: Gregor Santner <[email protected]>
  • Loading branch information
harshad1 and gsantner authored Mar 26, 2022
1 parent 302b022 commit f2aa4b5
Show file tree
Hide file tree
Showing 17 changed files with 818 additions and 1,131 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -178,11 +178,18 @@ private void handleLaunchingIntent(final Intent intent) {

if (!intentIsSend && file != null) {
final Document doc = new Document(file);
final int paramLineNumber = intent.getIntExtra(Document.EXTRA_FILE_LINE_NUMBER, (intentData != null ? StringUtils.tryParseInt(intentData.getQueryParameter("line"), -1) : -1));
final boolean paramPreview = (paramLineNumber < 0) && (intent.getBooleanExtra(EXTRA_DO_PREVIEW, false)
|| (file.exists() && file.isFile() && _appSettings.getDocumentPreviewState(doc.getPath()))
|| file.getName().startsWith("index."));
showTextEditor(doc, paramPreview, paramLineNumber);

int startLine = intent.getIntExtra(Document.EXTRA_FILE_LINE_NUMBER, -1);
if (startLine < 0 && intentData != null) {
startLine = StringUtils.tryParseInt(intentData.getQueryParameter("line"), -1);
}

final boolean startInPreview = (startLine < 0) && (
intent.getBooleanExtra(EXTRA_DO_PREVIEW, false) ||
_appSettings.getDocumentPreviewState(doc.getPath()) ||
file.getName().startsWith("index."));

showTextEditor(doc, startLine, startInPreview);
}
}

Expand Down Expand Up @@ -250,16 +257,15 @@ public void setDocumentTitle(final String title) {
}
}

public void showTextEditor(final Document document, final boolean preview, final Integer lineNumber) {
public void showTextEditor(final Document document, final Integer lineNumber, final Boolean startPreview) {
GsFragmentBase currentFragment = getCurrentVisibleFragment();
final int fileLineNumber = (lineNumber != null && lineNumber >= 0) ? lineNumber : -1;

final boolean sameDocumentRequested = (
currentFragment instanceof DocumentEditFragment &&
document.getPath().equals(((DocumentEditFragment) currentFragment).getDocument().getPath()));

if (!sameDocumentRequested) {
showFragment(DocumentEditFragment.newInstance(document, fileLineNumber).setPreviewFlag(preview));
showFragment(DocumentEditFragment.newInstance(document, lineNumber, startPreview));
}
}

Expand Down
204 changes: 92 additions & 112 deletions app/src/main/java/net/gsantner/markor/activity/DocumentEditFragment.java

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -195,10 +195,8 @@ public void setText(String text) {

@SuppressWarnings("ConstantConditions")
private void appendToExistingDocument(final File file, final String separator, final boolean showEditor) {
final Bundle args = new Bundle();
args.putSerializable(Document.EXTRA_PATH, file);
final Context context = getContext();
final Document document = Document.fromArguments(context, args);
final Document document = new Document(file);
final String shareIntoFormat = ShareUtil.formatDateTime(context, _appSettings.getShareIntoPrefix(), System.currentTimeMillis());
final boolean isTodoTxt = TextFormat.CONVERTER_TODOTXT.isFileOutOfThisFormat(file.getAbsolutePath());

Expand Down Expand Up @@ -267,10 +265,10 @@ public void onFsViewerSelected(String request, File dir, final Integer lineNumbe
}, getFragmentManager(), getActivity());
}

private void showInDocumentActivity(final Document document) {
private void showInDocumentActivity(Document document) {
if (getActivity() instanceof DocumentActivity) {
DocumentActivity a = (DocumentActivity) getActivity();
a.showTextEditor(document, _appSettings.getDocumentPreviewState(document.getPath()), null);
a.showTextEditor(document, null, false);
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -407,7 +407,8 @@ public FilesystemViewerData.Options getFilesystemFragmentOptions(FilesystemViewe
@Override
public void onFsViewerConfig(FilesystemViewerData.Options dopt) {
dopt.descModtimeInsteadOfParent = true;
dopt.rootFolder = getIntentDir(getIntent(), _appSettings.getFolderToLoadByMenuId(_appSettings.getAppStartupFolderMenuId()));
dopt.rootFolder = _appSettings.getNotebookDirectory();
dopt.startFolder = getIntentDir(getIntent(), _appSettings.getFolderToLoadByMenuId(_appSettings.getAppStartupFolderMenuId()));
dopt.folderFirst = _appSettings.isFilesystemListFolderFirst();
dopt.doSelectMultiple = dopt.doSelectFolder = dopt.doSelectFile = true;
dopt.mountedStorageFolder = _shareUtil.getStorageAccessFolder();
Expand Down

This file was deleted.

Loading

0 comments on commit f2aa4b5

Please sign in to comment.