From 194fbf69273ff5a06fcd0944b256c8b7917d756f Mon Sep 17 00:00:00 2001 From: Gregor Santner Date: Sat, 24 Aug 2019 14:54:25 +0200 Subject: [PATCH] Rename test flavor to atest (so it's default dev flavor when starting android studio) --- app/build.gradle | 15 ++++--- .../res/drawable-anydpi-v26/ic_launcher.xml | 0 .../drawable-anydpi-v26/ic_launcher_round.xml | 0 .../res/drawable-hdpi/ic_launcher.png | Bin .../res/drawable-hdpi/ic_launcher_round.png | Bin .../res/drawable-ldpi/ic_launcher.png | Bin .../res/drawable-mdpi/ic_launcher.png | Bin .../res/drawable-mdpi/ic_launcher_round.png | Bin .../res/drawable-xhdpi/ic_launcher.png | Bin .../res/drawable-xhdpi/ic_launcher_round.png | Bin .../res/drawable-xxhdpi/ic_launcher.png | Bin .../res/drawable-xxhdpi/ic_launcher_round.png | Bin .../res/drawable-xxxhdpi/ic_launcher.png | Bin .../drawable-xxxhdpi/ic_launcher_round.png | Bin .../res/drawable/ic_launcher_background.xml | 0 .../res/drawable/ic_launcher_foreground.xml | 0 .../res/ic_launcher-web.png | Bin .../res/values/strings-flavor.xml | 0 .../SharedPreferencesPropertyBackend.java | 14 ++++++ .../opoc/ui/SearchOrCustomTextDialog.java | 12 +++-- .../net/gsantner/opoc/util/ActivityUtils.java | 41 ++++++++++++++++-- .../opoc/util/AndroidSupportMeWrapper.java | 2 +- .../net/gsantner/opoc/util/ShareUtil.java | 11 ++++- build.gradle | 2 +- 24 files changed, 79 insertions(+), 18 deletions(-) rename app/src/{flavorTest => flavorAtest}/res/drawable-anydpi-v26/ic_launcher.xml (100%) rename app/src/{flavorTest => flavorAtest}/res/drawable-anydpi-v26/ic_launcher_round.xml (100%) rename app/src/{flavorTest => flavorAtest}/res/drawable-hdpi/ic_launcher.png (100%) rename app/src/{flavorTest => flavorAtest}/res/drawable-hdpi/ic_launcher_round.png (100%) rename app/src/{flavorTest => flavorAtest}/res/drawable-ldpi/ic_launcher.png (100%) rename app/src/{flavorTest => flavorAtest}/res/drawable-mdpi/ic_launcher.png (100%) rename app/src/{flavorTest => flavorAtest}/res/drawable-mdpi/ic_launcher_round.png (100%) rename app/src/{flavorTest => flavorAtest}/res/drawable-xhdpi/ic_launcher.png (100%) rename app/src/{flavorTest => flavorAtest}/res/drawable-xhdpi/ic_launcher_round.png (100%) rename app/src/{flavorTest => flavorAtest}/res/drawable-xxhdpi/ic_launcher.png (100%) rename app/src/{flavorTest => flavorAtest}/res/drawable-xxhdpi/ic_launcher_round.png (100%) rename app/src/{flavorTest => flavorAtest}/res/drawable-xxxhdpi/ic_launcher.png (100%) rename app/src/{flavorTest => flavorAtest}/res/drawable-xxxhdpi/ic_launcher_round.png (100%) rename app/src/{flavorTest => flavorAtest}/res/drawable/ic_launcher_background.xml (100%) rename app/src/{flavorTest => flavorAtest}/res/drawable/ic_launcher_foreground.xml (100%) rename app/src/{flavorTest => flavorAtest}/res/ic_launcher-web.png (100%) rename app/src/{flavorTest => flavorAtest}/res/values/strings-flavor.xml (100%) diff --git a/app/build.gradle b/app/build.gradle index 927fee1a..e0caefdc 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -10,18 +10,19 @@ android { compileSdkVersion rootProject.ext.version_compileSdk defaultConfig { + resValue "string", "manifest_package_id", "com.github.dfa.diaspora_android" + applicationId "com.github.dfa.diaspora_android" + versionName "1.3.1" + versionCode 42 + vectorDrawables.useSupportLibrary = true + minSdkVersion rootProject.ext.version_minSdk targetSdkVersion rootProject.ext.version_compileSdk buildConfigField "boolean", "IS_TEST_BUILD", "false" buildConfigField "boolean", "IS_GPLAY_BUILD", "false" buildConfigField "String[]", "DETECTED_ANDROID_LOCALES", "${findUsedAndroidLocales()}" buildConfigField "String", "GITHASH", "\"${getGitHash()}\"" - - resValue "string", "manifest_package_id", "com.github.dfa.diaspora_android" - applicationId "com.github.dfa.diaspora_android" - versionName "1.3.1" - versionCode 42 - vectorDrawables.useSupportLibrary = true + setProperty("archivesBaseName", applicationId + "-v" + versionCode + "-" + versionName) } flavorDimensions "default" @@ -38,7 +39,7 @@ android { applicationId "net.gsantner.dandelior" } - flavorTest { + flavorAtest { applicationId "net.gsantner.secondlion" versionCode = Integer.parseInt(new Date().format('yyMMdd')) versionName = new Date().format('yyMMdd') diff --git a/app/src/flavorTest/res/drawable-anydpi-v26/ic_launcher.xml b/app/src/flavorAtest/res/drawable-anydpi-v26/ic_launcher.xml similarity index 100% rename from app/src/flavorTest/res/drawable-anydpi-v26/ic_launcher.xml rename to app/src/flavorAtest/res/drawable-anydpi-v26/ic_launcher.xml diff --git a/app/src/flavorTest/res/drawable-anydpi-v26/ic_launcher_round.xml b/app/src/flavorAtest/res/drawable-anydpi-v26/ic_launcher_round.xml similarity index 100% rename from app/src/flavorTest/res/drawable-anydpi-v26/ic_launcher_round.xml rename to app/src/flavorAtest/res/drawable-anydpi-v26/ic_launcher_round.xml diff --git a/app/src/flavorTest/res/drawable-hdpi/ic_launcher.png b/app/src/flavorAtest/res/drawable-hdpi/ic_launcher.png similarity index 100% rename from app/src/flavorTest/res/drawable-hdpi/ic_launcher.png rename to app/src/flavorAtest/res/drawable-hdpi/ic_launcher.png diff --git a/app/src/flavorTest/res/drawable-hdpi/ic_launcher_round.png b/app/src/flavorAtest/res/drawable-hdpi/ic_launcher_round.png similarity index 100% rename from app/src/flavorTest/res/drawable-hdpi/ic_launcher_round.png rename to app/src/flavorAtest/res/drawable-hdpi/ic_launcher_round.png diff --git a/app/src/flavorTest/res/drawable-ldpi/ic_launcher.png b/app/src/flavorAtest/res/drawable-ldpi/ic_launcher.png similarity index 100% rename from app/src/flavorTest/res/drawable-ldpi/ic_launcher.png rename to app/src/flavorAtest/res/drawable-ldpi/ic_launcher.png diff --git a/app/src/flavorTest/res/drawable-mdpi/ic_launcher.png b/app/src/flavorAtest/res/drawable-mdpi/ic_launcher.png similarity index 100% rename from app/src/flavorTest/res/drawable-mdpi/ic_launcher.png rename to app/src/flavorAtest/res/drawable-mdpi/ic_launcher.png diff --git a/app/src/flavorTest/res/drawable-mdpi/ic_launcher_round.png b/app/src/flavorAtest/res/drawable-mdpi/ic_launcher_round.png similarity index 100% rename from app/src/flavorTest/res/drawable-mdpi/ic_launcher_round.png rename to app/src/flavorAtest/res/drawable-mdpi/ic_launcher_round.png diff --git a/app/src/flavorTest/res/drawable-xhdpi/ic_launcher.png b/app/src/flavorAtest/res/drawable-xhdpi/ic_launcher.png similarity index 100% rename from app/src/flavorTest/res/drawable-xhdpi/ic_launcher.png rename to app/src/flavorAtest/res/drawable-xhdpi/ic_launcher.png diff --git a/app/src/flavorTest/res/drawable-xhdpi/ic_launcher_round.png b/app/src/flavorAtest/res/drawable-xhdpi/ic_launcher_round.png similarity index 100% rename from app/src/flavorTest/res/drawable-xhdpi/ic_launcher_round.png rename to app/src/flavorAtest/res/drawable-xhdpi/ic_launcher_round.png diff --git a/app/src/flavorTest/res/drawable-xxhdpi/ic_launcher.png b/app/src/flavorAtest/res/drawable-xxhdpi/ic_launcher.png similarity index 100% rename from app/src/flavorTest/res/drawable-xxhdpi/ic_launcher.png rename to app/src/flavorAtest/res/drawable-xxhdpi/ic_launcher.png diff --git a/app/src/flavorTest/res/drawable-xxhdpi/ic_launcher_round.png b/app/src/flavorAtest/res/drawable-xxhdpi/ic_launcher_round.png similarity index 100% rename from app/src/flavorTest/res/drawable-xxhdpi/ic_launcher_round.png rename to app/src/flavorAtest/res/drawable-xxhdpi/ic_launcher_round.png diff --git a/app/src/flavorTest/res/drawable-xxxhdpi/ic_launcher.png b/app/src/flavorAtest/res/drawable-xxxhdpi/ic_launcher.png similarity index 100% rename from app/src/flavorTest/res/drawable-xxxhdpi/ic_launcher.png rename to app/src/flavorAtest/res/drawable-xxxhdpi/ic_launcher.png diff --git a/app/src/flavorTest/res/drawable-xxxhdpi/ic_launcher_round.png b/app/src/flavorAtest/res/drawable-xxxhdpi/ic_launcher_round.png similarity index 100% rename from app/src/flavorTest/res/drawable-xxxhdpi/ic_launcher_round.png rename to app/src/flavorAtest/res/drawable-xxxhdpi/ic_launcher_round.png diff --git a/app/src/flavorTest/res/drawable/ic_launcher_background.xml b/app/src/flavorAtest/res/drawable/ic_launcher_background.xml similarity index 100% rename from app/src/flavorTest/res/drawable/ic_launcher_background.xml rename to app/src/flavorAtest/res/drawable/ic_launcher_background.xml diff --git a/app/src/flavorTest/res/drawable/ic_launcher_foreground.xml b/app/src/flavorAtest/res/drawable/ic_launcher_foreground.xml similarity index 100% rename from app/src/flavorTest/res/drawable/ic_launcher_foreground.xml rename to app/src/flavorAtest/res/drawable/ic_launcher_foreground.xml diff --git a/app/src/flavorTest/res/ic_launcher-web.png b/app/src/flavorAtest/res/ic_launcher-web.png similarity index 100% rename from app/src/flavorTest/res/ic_launcher-web.png rename to app/src/flavorAtest/res/ic_launcher-web.png diff --git a/app/src/flavorTest/res/values/strings-flavor.xml b/app/src/flavorAtest/res/values/strings-flavor.xml similarity index 100% rename from app/src/flavorTest/res/values/strings-flavor.xml rename to app/src/flavorAtest/res/values/strings-flavor.xml diff --git a/app/src/main/java/net/gsantner/opoc/preference/SharedPreferencesPropertyBackend.java b/app/src/main/java/net/gsantner/opoc/preference/SharedPreferencesPropertyBackend.java index cb0c6ae8..7be425df 100644 --- a/app/src/main/java/net/gsantner/opoc/preference/SharedPreferencesPropertyBackend.java +++ b/app/src/main/java/net/gsantner/opoc/preference/SharedPreferencesPropertyBackend.java @@ -58,6 +58,8 @@ public class SharedPreferencesPropertyBackend implements PropertyBackend ret = new ArrayList<>(); boolean first = true; - Iterator iter = FileUtils.iterateFilesAndDirs(_searchDir, this, this); + Iterator iter = null; + try { + iter = FileUtils.iterateFilesAndDirs(_searchDir, this, this); + } catch (Exception ex) { + // Iterator may throw an error at creation + return ret; + } while (iter.hasNext() && !isCancelled()) { File f = iter.next(); if (first) { diff --git a/app/src/main/java/net/gsantner/opoc/util/ActivityUtils.java b/app/src/main/java/net/gsantner/opoc/util/ActivityUtils.java index 7836b2ee..024d0f2f 100644 --- a/app/src/main/java/net/gsantner/opoc/util/ActivityUtils.java +++ b/app/src/main/java/net/gsantner/opoc/util/ActivityUtils.java @@ -32,6 +32,7 @@ import android.text.SpannableString; import android.text.method.LinkMovementMethod; import android.util.TypedValue; import android.view.View; +import android.view.Window; import android.view.WindowManager; import android.view.inputmethod.InputMethodManager; import android.webkit.WebView; @@ -175,11 +176,15 @@ public class ActivityUtils extends net.gsantner.opoc.util.ContextUtils { scroll.addView(textView); textView.setMovementMethod(new LinkMovementMethod()); textView.setText(isHtml ? new SpannableString(Html.fromHtml(text)) : text); + textView.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 17); AlertDialog.Builder dialog = new AlertDialog.Builder(_context) .setPositiveButton(android.R.string.ok, null).setOnDismissListener(dismissedListener) - .setTitle(resTitleId).setView(scroll); - dialog.show(); + .setView(scroll); + if (resTitleId != 0) { + dialog.setTitle(resTitleId); + } + dialogFullWidth(dialog.show(), true, false); } public void showDialogWithRawFileInWebView(String fileInRaw, @StringRes int resTitleId) { @@ -189,7 +194,7 @@ public class ActivityUtils extends net.gsantner.opoc.util.ContextUtils { .setPositiveButton(android.R.string.ok, null) .setTitle(resTitleId) .setView(wv); - dialog.show(); + dialogFullWidth(dialog.show(), true, false); } // Toggle with no param, else set visibility according to first bool @@ -281,4 +286,34 @@ public class ActivityUtils extends net.gsantner.opoc.util.ContextUtils { _activity.startActivity(intent); return this; } + + /** + * Detect if the activity is currently in splitscreen/multiwindow mode + */ + public boolean isInSplitScreenMode() { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) { + return _activity.isInMultiWindowMode(); + } + return false; + } + + /** + * Show dialog in full width / show keyboard + * + * @param dialog Get via dialog.show() + */ + public void dialogFullWidth(AlertDialog dialog, boolean fullWidth, boolean showKeyboard) { + try { + Window w; + if (dialog != null && (w = dialog.getWindow()) != null) { + if (fullWidth) { + w.setLayout(WindowManager.LayoutParams.MATCH_PARENT, WindowManager.LayoutParams.WRAP_CONTENT); + } + if (showKeyboard) { + w.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE); + } + } + } catch (Exception ignored) { + } + } } diff --git a/app/src/main/java/net/gsantner/opoc/util/AndroidSupportMeWrapper.java b/app/src/main/java/net/gsantner/opoc/util/AndroidSupportMeWrapper.java index ace1e60c..4807c96b 100644 --- a/app/src/main/java/net/gsantner/opoc/util/AndroidSupportMeWrapper.java +++ b/app/src/main/java/net/gsantner/opoc/util/AndroidSupportMeWrapper.java @@ -66,7 +66,7 @@ public class AndroidSupportMeWrapper extends ActivityUtils { } public boolean all14dRequest() { - return afterDaysTrue("all14dRequest", 14, 3); + return afterDaysTrue("all14dRequest", 31, 3); } } } diff --git a/app/src/main/java/net/gsantner/opoc/util/ShareUtil.java b/app/src/main/java/net/gsantner/opoc/util/ShareUtil.java index 49ab80f4..756000d3 100644 --- a/app/src/main/java/net/gsantner/opoc/util/ShareUtil.java +++ b/app/src/main/java/net/gsantner/opoc/util/ShareUtil.java @@ -100,6 +100,10 @@ public class ShareUtil { _chooserTitle = "➥"; } + public void setContext(Context c) { + _context = c; + } + public void freeContextRef() { _context = null; } @@ -334,14 +338,17 @@ public class ShareUtil { public PrintJob print(WebView webview, String jobName) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { PrintDocumentAdapter printAdapter; - PrintManager printManager = (PrintManager) webview.getContext().getSystemService(Context.PRINT_SERVICE); + PrintManager printManager = (PrintManager) _context.getSystemService(Context.PRINT_SERVICE); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { printAdapter = webview.createPrintDocumentAdapter(jobName); } else { printAdapter = webview.createPrintDocumentAdapter(); } if (printManager != null) { - return printManager.print(jobName, printAdapter, new PrintAttributes.Builder().build()); + try { + return printManager.print(jobName, printAdapter, new PrintAttributes.Builder().build()); + } catch (Exception ignored) { + } } } else { Log.e(getClass().getName(), "ERROR: Method called on too low Android API version"); diff --git a/build.gradle b/build.gradle index d0963988..2f8f520e 100644 --- a/build.gradle +++ b/build.gradle @@ -14,7 +14,7 @@ import java.text.SimpleDateFormat buildscript { ext { version_gradle_tools = "3.5.0" - version_plugin_kotlin = "1.3.41" + version_plugin_kotlin = "1.3.50" enable_plugin_kotlin = false version_compileSdk = 28