From 0ebbc9d1df20883d325fb1546df2cbabdc929534 Mon Sep 17 00:00:00 2001
From: Aditya-Srivastav <54016427+4D17Y4@users.noreply.github.com>
Date: Sat, 14 Aug 2021 06:33:26 +0530
Subject: [PATCH] [GSoC] Welcome Dialog (#4546)
* Welcome Dialog
* Condition Fix
* Orientation, back button Fix
---
.../customselector/ui/adapter/ImageAdapter.kt | 2 +-
.../ui/selector/CustomSelectorActivity.kt | 25 +++-
.../layout/custom_selector_info_dialog.xml | 133 ++++++++++++++++++
app/src/main/res/values/strings.xml | 5 +
4 files changed, 163 insertions(+), 2 deletions(-)
create mode 100644 app/src/main/res/layout/custom_selector_info_dialog.xml
diff --git a/app/src/main/java/fr/free/nrw/commons/customselector/ui/adapter/ImageAdapter.kt b/app/src/main/java/fr/free/nrw/commons/customselector/ui/adapter/ImageAdapter.kt
index 671276203..ea7505aeb 100644
--- a/app/src/main/java/fr/free/nrw/commons/customselector/ui/adapter/ImageAdapter.kt
+++ b/app/src/main/java/fr/free/nrw/commons/customselector/ui/adapter/ImageAdapter.kt
@@ -110,7 +110,7 @@ class ImageAdapter(
}
} else {
if(holder.isItemUploaded()){
- Toast.makeText(context, "Already Uploaded image", Toast.LENGTH_SHORT).show()
+ Toast.makeText(context, R.string.custom_selector_already_uploaded_image_text, Toast.LENGTH_SHORT).show()
} else {
selectedImages.add(images[position])
notifyItemChanged(position, ImageSelectedOrUpdated())
diff --git a/app/src/main/java/fr/free/nrw/commons/customselector/ui/selector/CustomSelectorActivity.kt b/app/src/main/java/fr/free/nrw/commons/customselector/ui/selector/CustomSelectorActivity.kt
index 219239974..02b0a8b1a 100644
--- a/app/src/main/java/fr/free/nrw/commons/customselector/ui/selector/CustomSelectorActivity.kt
+++ b/app/src/main/java/fr/free/nrw/commons/customselector/ui/selector/CustomSelectorActivity.kt
@@ -1,10 +1,13 @@
package fr.free.nrw.commons.customselector.ui.selector
import android.app.Activity
+import android.app.Dialog
import android.content.Intent
import android.content.SharedPreferences
import android.os.Bundle
import android.view.View
+import android.view.Window
+import android.widget.Button
import android.widget.ImageButton
import android.widget.TextView
import androidx.lifecycle.ViewModelProvider
@@ -16,6 +19,7 @@ import fr.free.nrw.commons.theme.BaseActivity
import java.io.File
import javax.inject.Inject
+
/**
* Custom Selector Activity.
*/
@@ -55,10 +59,18 @@ class CustomSelectorActivity: BaseActivity(), FolderClickListener, ImageSelectLi
setContentView(R.layout.activity_custom_selector)
prefs = applicationContext.getSharedPreferences("CustomSelector", MODE_PRIVATE)
- viewModel = ViewModelProvider(this, customSelectorViewModelFactory).get(CustomSelectorViewModel::class.java)
+ viewModel = ViewModelProvider(this, customSelectorViewModelFactory).get(
+ CustomSelectorViewModel::class.java
+ )
setupViews()
+ if(prefs.getBoolean("customSelectorFirstLaunch", true)) {
+ // show welcome dialog on first launch
+ showWelcomeDialog()
+ prefs.edit().putBoolean("customSelectorFirstLaunch", false).apply()
+ }
+
// Open folder if saved in prefs.
if(prefs.contains(FOLDER_ID)){
val lastOpenFolderId: Long = prefs.getLong(FOLDER_ID, 0L)
@@ -68,6 +80,17 @@ class CustomSelectorActivity: BaseActivity(), FolderClickListener, ImageSelectLi
}
}
+ /**
+ * Show Custom Selector Welcome Dialog.
+ */
+ private fun showWelcomeDialog() {
+ val dialog = Dialog(this)
+ dialog.requestWindowFeature(Window.FEATURE_NO_TITLE)
+ dialog.setContentView(R.layout.custom_selector_info_dialog)
+ (dialog.findViewById(R.id.btn_ok) as Button).setOnClickListener { dialog.dismiss() }
+ dialog.show()
+ }
+
/**
* Set up view, default folder view.
*/
diff --git a/app/src/main/res/layout/custom_selector_info_dialog.xml b/app/src/main/res/layout/custom_selector_info_dialog.xml
new file mode 100644
index 000000000..a34f247dd
--- /dev/null
+++ b/app/src/main/res/layout/custom_selector_info_dialog.xml
@@ -0,0 +1,133 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index e43bae7b5..4a04fe47d 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -651,5 +651,10 @@ Upload your first media by tapping on the add button.
No Images
Done
Back
+ Welcome to Custom Picture Selector
+ This picker shows differently pictures that are already to Commons.
+ Unlike the picture on the left, the picture on the right has the Commons logo indicating it is already uploaded.
+ Awesome
+ This image has already been uploaded to Commons.