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.