From 338b21f318bc4b6659aff65b648160696838e019 Mon Sep 17 00:00:00 2001 From: Mohamed Sameh Date: Sat, 22 Feb 2020 23:50:51 +0200 Subject: [PATCH 01/16] Replace AlertDialog with DialogShower once and Add icon in DialogShower --- .../core/main/CoreMainActivity.java | 39 ++++++++++--------- .../core/utils/AlertDialogShower.kt | 1 + .../kiwixmobile/core/utils/KiwixDialog.kt | 7 +++- 3 files changed, 27 insertions(+), 20 deletions(-) diff --git a/core/src/main/java/org/kiwix/kiwixmobile/core/main/CoreMainActivity.java b/core/src/main/java/org/kiwix/kiwixmobile/core/main/CoreMainActivity.java index f565942b0..b5162f747 100644 --- a/core/src/main/java/org/kiwix/kiwixmobile/core/main/CoreMainActivity.java +++ b/core/src/main/java/org/kiwix/kiwixmobile/core/main/CoreMainActivity.java @@ -87,6 +87,7 @@ import java.util.Date; import java.util.List; import javax.inject.Inject; import kotlin.Unit; +import kotlin.jvm.functions.Function0; import org.jetbrains.annotations.NotNull; import org.json.JSONArray; import org.kiwix.kiwixmobile.core.BuildConfig; @@ -109,7 +110,9 @@ import org.kiwix.kiwixmobile.core.reader.ZimFileReader; import org.kiwix.kiwixmobile.core.reader.ZimReaderContainer; import org.kiwix.kiwixmobile.core.search.SearchActivity; import org.kiwix.kiwixmobile.core.search.viewmodel.effects.SearchInPreviousScreen; +import org.kiwix.kiwixmobile.core.utils.AlertDialogShower; import org.kiwix.kiwixmobile.core.utils.DimenUtils; +import org.kiwix.kiwixmobile.core.utils.KiwixDialog; import org.kiwix.kiwixmobile.core.utils.LanguageUtils; import org.kiwix.kiwixmobile.core.utils.NetworkUtils; import org.kiwix.kiwixmobile.core.utils.StyleUtils; @@ -213,6 +216,8 @@ public abstract class CoreMainActivity extends BaseActivity protected NewBookmarksDao newBookmarksDao; @Inject protected NewBookDao newBookDao; + @Inject + private AlertDialogShower alertDialogShower; private CountDownTimer hideBackToTopTimer = new CountDownTimer(1200, 1200) { @Override @@ -1688,25 +1693,21 @@ public abstract class CoreMainActivity extends BaseActivity } protected void showOpenInNewTabDialog(String url) { - AlertDialog.Builder builder = new AlertDialog.Builder(this); - - builder.setPositiveButton(android.R.string.yes, (dialog, id) -> { - if (isOpenNewTabInBackground) { - newTabInBackground(url); - Snackbar.make(snackbarRoot, R.string.new_tab_snack_bar, Snackbar.LENGTH_LONG) - .setAction(getString(R.string.open), v -> { - if (webViewList.size() > 1) selectTab(webViewList.size() - 1); - }) - .setActionTextColor(getResources().getColor(R.color.white)) - .show(); - } else { - newTab(url); - } - }); - builder.setNegativeButton(android.R.string.no, null); - builder.setMessage(getString(R.string.open_in_new_tab)); - AlertDialog dialog = builder.create(); - dialog.show(); + alertDialogShower.show(KiwixDialog.YesNoDialog.OpenInNewTab.INSTANCE, + (Function0) () -> { + if (isOpenNewTabInBackground) { + newTabInBackground(url); + Snackbar.make(snackbarRoot, R.string.new_tab_snack_bar, Snackbar.LENGTH_LONG) + .setAction(getString(R.string.open), v -> { + if (webViewList.size() > 1) selectTab(webViewList.size() - 1); + }) + .setActionTextColor(getResources().getColor(R.color.white)) + .show(); + } else { + newTab(url); + } + return Unit.INSTANCE; + }); } @Override diff --git a/core/src/main/java/org/kiwix/kiwixmobile/core/utils/AlertDialogShower.kt b/core/src/main/java/org/kiwix/kiwixmobile/core/utils/AlertDialogShower.kt index 8cf6c7f1f..555c1dc2c 100644 --- a/core/src/main/java/org/kiwix/kiwixmobile/core/utils/AlertDialogShower.kt +++ b/core/src/main/java/org/kiwix/kiwixmobile/core/utils/AlertDialogShower.kt @@ -28,6 +28,7 @@ class AlertDialogShower @Inject constructor(private val activity: Activity) : Di AlertDialog.Builder(activity) .apply { dialog.title?.let(this::setTitle) + dialog.icon?.let { setIcon(dialog.icon) } setMessage(activity.getString(dialog.message, *bodyArguments(dialog))) setPositiveButton(dialog.positiveMessage) { _, _ -> clickListeners.getOrNull(0) diff --git a/core/src/main/java/org/kiwix/kiwixmobile/core/utils/KiwixDialog.kt b/core/src/main/java/org/kiwix/kiwixmobile/core/utils/KiwixDialog.kt index 3dffe17ad..28bd756a3 100644 --- a/core/src/main/java/org/kiwix/kiwixmobile/core/utils/KiwixDialog.kt +++ b/core/src/main/java/org/kiwix/kiwixmobile/core/utils/KiwixDialog.kt @@ -27,7 +27,8 @@ sealed class KiwixDialog( val message: Int, val positiveMessage: Int, val negativeMessage: Int?, - val cancelable: Boolean = true + val cancelable: Boolean = true, + val icon: Int? = null ) { data class DeleteZim(override val args: List) : KiwixDialog( @@ -114,6 +115,10 @@ sealed class KiwixDialog( object WifiOnly : YesNoDialog( R.string.wifi_only_title, R.string.wifi_only_msg ) + + object OpenInNewTab : YesNoDialog( + R.string.open_in_new_tab, R.string.open_in_new_tab + ) } } From 95a8e4d692c357065aa62fd3607f72eddb4e2586 Mon Sep 17 00:00:00 2001 From: Yash Khare Date: Tue, 25 Feb 2020 12:18:02 +0530 Subject: [PATCH 02/16] Fix #1804 Update gradle version --- buildSrc/build.gradle.kts | 2 +- gradle/wrapper/gradle-wrapper.properties | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/buildSrc/build.gradle.kts b/buildSrc/build.gradle.kts index 9e547ad46..f01ceba1e 100644 --- a/buildSrc/build.gradle.kts +++ b/buildSrc/build.gradle.kts @@ -11,7 +11,7 @@ repositories { } dependencies { - implementation("com.android.tools.build:gradle:3.5.3") + implementation("com.android.tools.build:gradle:3.6.0") implementation("org.jetbrains.kotlin:kotlin-gradle-plugin:1.3.61") implementation("com.dicedmelon.gradle:jacoco-android:0.1.4") implementation("org.jlleitschuh.gradle:ktlint-gradle:9.2.1") diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 235118534..91e6cc95d 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Sun Jun 16 15:57:45 CDT 2019 +#Tue Feb 25 11:46:45 IST 2020 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.1-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.4-all.zip From 4a7a57d3119c4430b0538ad30d257a051ee61036 Mon Sep 17 00:00:00 2001 From: Yash Khare Date: Tue, 25 Feb 2020 14:00:47 +0530 Subject: [PATCH 03/16] Fix #1804 Update gradle version --- app/build.gradle.kts | 1 + 1 file changed, 1 insertion(+) diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 08110bb95..aea956a36 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -44,6 +44,7 @@ android { resValue("string", "app_search_string", "Search Kiwix") versionCode = generateVersionCode() versionName = generateVersionName() + ndkVersion = "21.0.6113669" } lintOptions { From 09c82179dfe25bf8c72f8ef1c512623731aabb19 Mon Sep 17 00:00:00 2001 From: Yash Khare Date: Tue, 25 Feb 2020 14:11:46 +0530 Subject: [PATCH 04/16] Fix #1804 Update gradle version --- custom/build.gradle.kts | 1 + 1 file changed, 1 insertion(+) diff --git a/custom/build.gradle.kts b/custom/build.gradle.kts index d30e8f6ae..21d135665 100644 --- a/custom/build.gradle.kts +++ b/custom/build.gradle.kts @@ -17,6 +17,7 @@ plugins.apply(KiwixConfigurationPlugin::class) android { defaultConfig { applicationId = "org.kiwix" + ndkVersion = "21.0.6113669" } flavorDimensions("default") From 4b3fb32f280b2b711ff484f9dc3dbc80cd673f0f Mon Sep 17 00:00:00 2001 From: deborahlow97 Date: Tue, 25 Feb 2020 17:51:35 +0800 Subject: [PATCH 05/16] Center align text in chip --- core/src/main/res/layout/tag_content.xml | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/core/src/main/res/layout/tag_content.xml b/core/src/main/res/layout/tag_content.xml index 9b68460b0..bf659d679 100644 --- a/core/src/main/res/layout/tag_content.xml +++ b/core/src/main/res/layout/tag_content.xml @@ -8,26 +8,31 @@ style="@style/Widget.KiwixTheme.Chip.Choice.Static" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:text="@string/tag_pic" /> + android:text="@string/tag_pic" + android:textAlignment="center" /> + + android:text="@string/tag_vid" + android:textAlignment="center" /> + android:text="@string/tag_short_text" + android:textAlignment="center" /> + android:text="@string/tag_text_only" + android:textAlignment="center" /> From e93587aeca754f56755f2d535cc41654ac45563c Mon Sep 17 00:00:00 2001 From: deborahlow97 Date: Tue, 25 Feb 2020 20:31:32 +0800 Subject: [PATCH 06/16] Place alignment logic in styles --- core/src/main/res/layout/tag_content.xml | 12 ++++-------- core/src/main/res/values/styles.xml | 1 + 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/core/src/main/res/layout/tag_content.xml b/core/src/main/res/layout/tag_content.xml index bf659d679..1c7dc9bda 100644 --- a/core/src/main/res/layout/tag_content.xml +++ b/core/src/main/res/layout/tag_content.xml @@ -8,8 +8,7 @@ style="@style/Widget.KiwixTheme.Chip.Choice.Static" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:text="@string/tag_pic" - android:textAlignment="center" /> + android:text="@string/tag_pic" /> + android:text="@string/tag_vid" /> + android:text="@string/tag_short_text" /> + android:text="@string/tag_text_only" /> diff --git a/core/src/main/res/values/styles.xml b/core/src/main/res/values/styles.xml index 42e36ef86..8b27568c0 100644 --- a/core/src/main/res/values/styles.xml +++ b/core/src/main/res/values/styles.xml @@ -39,6 +39,7 @@