summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorTanuj <thetanuj@hotmail.com>2023-07-04 21:06:19 +0530
committerTanuj <thetanuj@hotmail.com>2023-07-04 21:06:19 +0530
commit89fca9170bebbe6f067fbe0e6a44b3bcedaad6d1 (patch)
tree497e4f2c04925a5b495d2d3fe16ebef2eca42443 /app
parentcaf3eb7a6cef23aae95ad07da2f5c6ac69d8dbe7 (diff)
downloadSidePhOnelauncher-89fca9170bebbe6f067fbe0e6a44b3bcedaad6d1.tar.gz
SidePhOnelauncher-89fca9170bebbe6f067fbe0e6a44b3bcedaad6d1.tar.bz2
SidePhOnelauncher-89fca9170bebbe6f067fbe0e6a44b3bcedaad6d1.zip
Changes in show dialog
Diffstat (limited to 'app')
-rw-r--r--app/src/main/java/app/olauncher/MainActivity.kt55
-rw-r--r--app/src/main/java/app/olauncher/MainViewModel.kt7
-rw-r--r--app/src/main/java/app/olauncher/data/Constants.kt11
-rw-r--r--app/src/main/java/app/olauncher/data/Prefs.kt2
-rw-r--r--app/src/main/java/app/olauncher/helper/Utils.kt24
-rw-r--r--app/src/main/java/app/olauncher/ui/AppDrawerFragment.kt2
-rw-r--r--app/src/main/java/app/olauncher/ui/HomeFragment.kt12
-rw-r--r--app/src/main/java/app/olauncher/ui/SettingsFragment.kt49
-rw-r--r--app/src/main/res/drawable/ic_close.xml9
-rw-r--r--app/src/main/res/layout/activity_main.xml57
-rw-r--r--app/src/main/res/values/strings.xml4
11 files changed, 150 insertions, 82 deletions
diff --git a/app/src/main/java/app/olauncher/MainActivity.kt b/app/src/main/java/app/olauncher/MainActivity.kt
index 1fca0b0..d3a8c6a 100644
--- a/app/src/main/java/app/olauncher/MainActivity.kt
+++ b/app/src/main/java/app/olauncher/MainActivity.kt
@@ -91,9 +91,8 @@ class MainActivity : AppCompatActivity() {
}
private fun initClickListeners() {
- binding.okay.setOnClickListener {
+ binding.ivClose.setOnClickListener {
binding.messageLayout.visibility = View.GONE
- viewModel.showMessageDialog("")
}
}
@@ -101,11 +100,46 @@ class MainActivity : AppCompatActivity() {
viewModel.launcherResetFailed.observe(this) {
openLauncherChooser(it)
}
- viewModel.showMessageDialog.observe(this) {
- showMessage(it)
+ viewModel.showDialog.observe(this) {
+ when (it) {
+ Constants.Dialog.RATE -> {
+ showMessageDialog(getString(R.string.app_name), getString(R.string.rate_us_message), "Rate now") {
+ binding.messageLayout.visibility = View.GONE
+ prefs.rateClicked = true
+ rateApp()
+ }
+ }
+
+ Constants.Dialog.SHARE -> {
+ showMessageDialog(getString(R.string.app_name), getString(R.string.share_message), getString(R.string.share)) {
+ binding.messageLayout.visibility = View.GONE
+ shareApp()
+ }
+ }
+
+ Constants.Dialog.HIDDEN -> {
+ showMessageDialog("Hidden apps", getString(R.string.hidden_apps_message), getString(R.string.okay)) {
+ binding.messageLayout.visibility = View.GONE
+ }
+ }
+
+ Constants.Dialog.KEYBOARD -> {
+ showMessageDialog(getString(R.string.app_name), getString(R.string.keyboard_message), getString(R.string.okay)) {
+ binding.messageLayout.visibility = View.GONE
+ }
+ }
+ }
}
}
+ private fun showMessageDialog(title: String, message: String, action: String, clickListener: () -> Unit) {
+ binding.tvTitle.text = title
+ binding.tvMessage.text = message
+ binding.tvAction.text = action
+ binding.tvAction.setOnClickListener { clickListener() }
+ binding.messageLayout.visibility = View.VISIBLE
+ }
+
@SuppressLint("SourceLockedOrientationActivity")
private fun setupOrientation() {
if (isTablet(this)) return
@@ -138,24 +172,13 @@ class MainActivity : AppCompatActivity() {
}
}
- private fun showMessage(message: String) {
- if (message.isEmpty()) return
- binding.messageTextView.text = message
- binding.messageLayout.visibility = View.VISIBLE
- }
-
@Deprecated("Deprecated in Java")
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
super.onActivityResult(requestCode, resultCode, data)
when (requestCode) {
Constants.REQUEST_CODE_ENABLE_ADMIN -> {
- if (resultCode == Activity.RESULT_OK) {
+ if (resultCode == Activity.RESULT_OK)
prefs.lockModeOn = true
- if (Build.VERSION.SDK_INT > Build.VERSION_CODES.P)
- showMessage(getString(R.string.double_tap_lock_is_enabled_message))
- else
- showMessage(getString(R.string.double_tap_lock_uninstall_message))
- }
}
}
}
diff --git a/app/src/main/java/app/olauncher/MainViewModel.kt b/app/src/main/java/app/olauncher/MainViewModel.kt
index 5a045d8..7ba1634 100644
--- a/app/src/main/java/app/olauncher/MainViewModel.kt
+++ b/app/src/main/java/app/olauncher/MainViewModel.kt
@@ -17,6 +17,7 @@ import androidx.work.WorkManager
import app.olauncher.data.AppModel
import app.olauncher.data.Constants
import app.olauncher.data.Prefs
+import app.olauncher.helper.SingleLiveEvent
import app.olauncher.helper.WallpaperWorker
import app.olauncher.helper.getAppsList
import app.olauncher.helper.getDefaultLauncherPackage
@@ -40,7 +41,7 @@ class MainViewModel(application: Application) : AndroidViewModel(application) {
val isOlauncherDefault = MutableLiveData<Boolean>()
val launcherResetFailed = MutableLiveData<Boolean>()
val homeAppAlignment = MutableLiveData<Int>()
- val showMessageDialog = MutableLiveData<String>()
+ val showDialog = SingleLiveEvent<String>()
fun selectedApp(appModel: AppModel, flag: Int) {
when (flag) {
@@ -241,8 +242,4 @@ class MainViewModel(application: Application) : AndroidViewModel(application) {
prefs.homeAlignment = gravity
homeAppAlignment.value = prefs.homeAlignment
}
-
- fun showMessageDialog(message: String) {
- showMessageDialog.postValue(message)
- }
} \ No newline at end of file
diff --git a/app/src/main/java/app/olauncher/data/Constants.kt b/app/src/main/java/app/olauncher/data/Constants.kt
index 689ca0d..c76124b 100644
--- a/app/src/main/java/app/olauncher/data/Constants.kt
+++ b/app/src/main/java/app/olauncher/data/Constants.kt
@@ -7,6 +7,13 @@ object Constants {
const val RENAME = "rename"
}
+ object Dialog {
+ const val RATE = "RATE"
+ const val SHARE = "SHARE"
+ const val HIDDEN = "HIDDEN"
+ const val KEYBOARD = "KEYBOARD"
+ }
+
object DateTime {
const val OFF = 0
const val ON = 1
@@ -62,8 +69,8 @@ object Constants {
const val REQUEST_CODE_ENABLE_ADMIN = 666
- const val HINT_RATE_US = 20
- const val HINT_SHARE = 30
+ const val HINT_RATE_US = 15
+ const val HINT_SHARE = 25
const val TRIPLE_TAP_DELAY_MS = 300L
const val LONG_PRESS_DELAY_MS = 500L
diff --git a/app/src/main/java/app/olauncher/data/Prefs.kt b/app/src/main/java/app/olauncher/data/Prefs.kt
index fca6f0b..9235992 100644
--- a/app/src/main/java/app/olauncher/data/Prefs.kt
+++ b/app/src/main/java/app/olauncher/data/Prefs.kt
@@ -118,7 +118,7 @@ class Prefs(context: Context) {
set(value) = prefs.edit().putString(DAILY_WALLPAPER_URL, value).apply()
var homeAppsNum: Int
- get() = prefs.getInt(HOME_APPS_NUM, 5)
+ get() = prefs.getInt(HOME_APPS_NUM, 4)
set(value) = prefs.edit().putInt(HOME_APPS_NUM, value).apply()
var homeAlignment: Int
diff --git a/app/src/main/java/app/olauncher/helper/Utils.kt b/app/src/main/java/app/olauncher/helper/Utils.kt
index 1ad0bb3..89acc0c 100644
--- a/app/src/main/java/app/olauncher/helper/Utils.kt
+++ b/app/src/main/java/app/olauncher/helper/Utils.kt
@@ -529,4 +529,28 @@ fun View.animateAlpha(alpha: Float = 1.0f) {
alpha(alpha)
start()
}
+}
+
+fun Context.shareApp() {
+ val message = "Are you using your phone or your phone is using you?\n" +
+ Constants.URL_OLAUNCHER_PLAY_STORE
+ val sendIntent: Intent = Intent().apply {
+ action = Intent.ACTION_SEND
+ putExtra(Intent.EXTRA_TEXT, message)
+ type = "text/plain"
+ }
+
+ val shareIntent = Intent.createChooser(sendIntent, null)
+ startActivity(shareIntent)
+}
+
+fun Context.rateApp() {
+ val intent = Intent(
+ Intent.ACTION_VIEW,
+ Uri.parse(Constants.URL_OLAUNCHER_PLAY_STORE)
+ )
+ var flags = Intent.FLAG_ACTIVITY_NO_HISTORY or Intent.FLAG_ACTIVITY_MULTIPLE_TASK
+ flags = flags or Intent.FLAG_ACTIVITY_NEW_DOCUMENT
+ intent.addFlags(flags)
+ startActivity(intent)
} \ No newline at end of file
diff --git a/app/src/main/java/app/olauncher/ui/AppDrawerFragment.kt b/app/src/main/java/app/olauncher/ui/AppDrawerFragment.kt
index 8f45c9a..7069d85 100644
--- a/app/src/main/java/app/olauncher/ui/AppDrawerFragment.kt
+++ b/app/src/main/java/app/olauncher/ui/AppDrawerFragment.kt
@@ -139,7 +139,7 @@ class AppDrawerFragment : Fragment() {
findNavController().popBackStack()
if (prefs.firstHide) {
prefs.firstHide = false
- viewModel.showMessageDialog(getString(R.string.hidden_apps_message))
+ viewModel.showDialog.postValue(Constants.Dialog.HIDDEN)
findNavController().navigate(R.id.action_appListFragment_to_settingsFragment2)
}
},
diff --git a/app/src/main/java/app/olauncher/ui/HomeFragment.kt b/app/src/main/java/app/olauncher/ui/HomeFragment.kt
index 956f1e2..3e40d02 100644
--- a/app/src/main/java/app/olauncher/ui/HomeFragment.kt
+++ b/app/src/main/java/app/olauncher/ui/HomeFragment.kt
@@ -450,8 +450,16 @@ class HomeFragment : Fragment(), View.OnClickListener, View.OnLongClickListener
override fun onLongClick() {
super.onLongClick()
try {
- findNavController().navigate(R.id.action_mainFragment_to_settingsFragment)
- viewModel.firstOpen(false)
+ if (prefs.toShowHintCounter == Constants.HINT_RATE_US && prefs.rateClicked.not()) {
+ viewModel.showDialog.postValue(Constants.Dialog.RATE)
+ prefs.toShowHintCounter = prefs.toShowHintCounter + 1
+ } else if (prefs.toShowHintCounter == Constants.HINT_SHARE) {
+ viewModel.showDialog.postValue(Constants.Dialog.SHARE)
+ prefs.toShowHintCounter = prefs.toShowHintCounter + 1
+ } else {
+ findNavController().navigate(R.id.action_mainFragment_to_settingsFragment)
+ viewModel.firstOpen(false)
+ }
} catch (e: java.lang.Exception) {
e.printStackTrace()
}
diff --git a/app/src/main/java/app/olauncher/ui/SettingsFragment.kt b/app/src/main/java/app/olauncher/ui/SettingsFragment.kt
index 8de9b86..925315e 100644
--- a/app/src/main/java/app/olauncher/ui/SettingsFragment.kt
+++ b/app/src/main/java/app/olauncher/ui/SettingsFragment.kt
@@ -4,7 +4,6 @@ import android.app.admin.DevicePolicyManager
import android.content.ComponentName
import android.content.Context
import android.content.Intent
-import android.net.Uri
import android.os.Build
import android.os.Bundle
import android.provider.Settings
@@ -134,10 +133,10 @@ class SettingsFragment : Fragment(), View.OnClickListener, View.OnLongClickListe
requireContext().openUrl(Constants.URL_ABOUT_OLAUNCHER)
}
- R.id.share -> shareApp()
+ R.id.share -> requireActivity().shareApp()
R.id.rate -> {
prefs.rateClicked = true
- rateApp()
+ requireActivity().rateApp()
}
R.id.twitter -> requireContext().openUrl(Constants.URL_TWITTER_TANUJ)
@@ -433,7 +432,7 @@ class SettingsFragment : Fragment(), View.OnClickListener, View.OnLongClickListe
private fun toggleKeyboardText() {
if (prefs.autoShowKeyboard && prefs.keyboardMessageShown.not()) {
- viewModel.showMessageDialog(getString(R.string.keyboard_message))
+ viewModel.showDialog.postValue(Constants.Dialog.KEYBOARD)
prefs.keyboardMessageShown = true
} else {
prefs.autoShowKeyboard = !prefs.autoShowKeyboard
@@ -547,30 +546,6 @@ class SettingsFragment : Fragment(), View.OnClickListener, View.OnLongClickListe
populateSwipeDownAction()
}
- private fun shareApp() {
- val message = "Are you using your phone or your phone is using you?\n" +
- Constants.URL_OLAUNCHER_PLAY_STORE
- val sendIntent: Intent = Intent().apply {
- action = Intent.ACTION_SEND
- putExtra(Intent.EXTRA_TEXT, message)
- type = "text/plain"
- }
-
- val shareIntent = Intent.createChooser(sendIntent, null)
- startActivity(shareIntent)
- }
-
- private fun rateApp() {
- val intent = Intent(
- Intent.ACTION_VIEW,
- Uri.parse(Constants.URL_OLAUNCHER_PLAY_STORE)
- )
- var flags = Intent.FLAG_ACTIVITY_NO_HISTORY or Intent.FLAG_ACTIVITY_MULTIPLE_TASK
- flags = flags or Intent.FLAG_ACTIVITY_NEW_DOCUMENT
- intent.addFlags(flags)
- startActivity(intent)
- }
-
private fun populateSwipeApps() {
binding.swipeLeftApp.text = prefs.appNameSwipeLeft
binding.swipeRightApp.text = prefs.appNameSwipeRight
@@ -597,15 +572,15 @@ class SettingsFragment : Fragment(), View.OnClickListener, View.OnLongClickListe
}
private fun populateActionHints() {
- when (prefs.toShowHintCounter) {
- Constants.HINT_RATE_US -> {
- viewModel.showMessageDialog(getString(R.string.rate_us_message))
- binding.rate.setCompoundDrawablesWithIntrinsicBounds(0, android.R.drawable.arrow_down_float, 0, 0)
- binding.scrollView.post {
- binding.scrollView.fullScroll(View.FOCUS_DOWN)
- }
- }
- }
+// when (prefs.toShowHintCounter) {
+// Constants.HINT_RATE_US -> {
+// viewModel.showDialog.postValue(Constants.Dialog.RATE)
+// binding.rate.setCompoundDrawablesWithIntrinsicBounds(0, android.R.drawable.arrow_down_float, 0, 0)
+// binding.scrollView.post {
+// binding.scrollView.fullScroll(View.FOCUS_DOWN)
+// }
+// }
+// }
if (viewModel.isOlauncherDefault.value != true) return
if (prefs.aboutClicked.not() && prefs.toShowHintCounter < Constants.HINT_RATE_US)
binding.about.setCompoundDrawablesWithIntrinsicBounds(0, android.R.drawable.arrow_down_float, 0, 0)
diff --git a/app/src/main/res/drawable/ic_close.xml b/app/src/main/res/drawable/ic_close.xml
new file mode 100644
index 0000000..e5c82dd
--- /dev/null
+++ b/app/src/main/res/drawable/ic_close.xml
@@ -0,0 +1,9 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:width="20dp"
+ android:height="20dp"
+ android:viewportWidth="24"
+ android:viewportHeight="24">
+ <path
+ android:fillColor="?attr/primaryColor"
+ android:pathData="M19,6.41L17.59,5 12,10.59 6.41,5 5,6.41 10.59,12 5,17.59 6.41,19 12,13.41 17.59,19 19,17.59 13.41,12z" />
+</vector>
diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml
index 4931183..de1dc4c 100644
--- a/app/src/main/res/layout/activity_main.xml
+++ b/app/src/main/res/layout/activity_main.xml
@@ -24,8 +24,9 @@
android:clickable="true"
android:clipToPadding="false"
android:focusable="true"
- android:padding="24dp"
- android:visibility="gone">
+ android:padding="32dp"
+ android:visibility="gone"
+ tools:visibility="visible">
<LinearLayout
android:layout_width="match_parent"
@@ -36,36 +37,60 @@
android:orientation="vertical"
android:outlineAmbientShadowColor="@color/colorPrimaryDark"
android:outlineSpotShadowColor="@color/colorPrimaryDark"
- android:padding="24dp"
+ android:paddingVertical="24dp"
+ android:paddingStart="24dp"
+ android:paddingEnd="16dp"
tools:targetApi="p">
- <TextView
- style="@style/TextLarge"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:clickable="false"
- android:text="@string/app_name"
- android:textColor="?attr/primaryColor" />
+ <FrameLayout
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content">
+
+ <ImageView
+ android:id="@+id/ivClose"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="end|center_vertical"
+ android:alpha="0.5"
+ android:background="?attr/selectableItemBackgroundBorderless"
+ android:padding="6dp"
+ android:src="@drawable/ic_close" />
+
+ <TextView
+ android:id="@+id/tvTitle"
+ style="@style/TextLarge"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center_vertical"
+ android:layout_marginEnd="48dp"
+ android:clickable="false"
+ android:includeFontPadding="false"
+ android:text="@string/app_name"
+ android:textColor="?attr/primaryColor" />
+ </FrameLayout>
<TextView
- android:id="@+id/messageTextView"
+ android:id="@+id/tvMessage"
style="@style/TextSmall"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:layout_marginTop="16dp"
+ android:layout_marginTop="20dp"
android:lineSpacingExtra="2dp"
android:textColor="?attr/primaryColor"
- tools:text="@string/double_tap_lock_is_enabled_message" />
+ tools:text="@string/rate_us_message" />
<TextView
- android:id="@+id/okay"
+ android:id="@+id/tvAction"
style="@style/TextSmallBold"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end"
- android:layout_marginTop="16dp"
+ android:layout_marginTop="20dp"
+ android:background="?attr/selectableItemBackground"
+ android:padding="8dp"
android:text="@string/okay"
- android:textAllCaps="true" />
+ android:textAllCaps="false"
+ android:textSize="18sp" />
</LinearLayout>
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index aab4f44..6bb0f5b 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -56,8 +56,8 @@
\n\nNote: Turn this OFF first if you decide to delete Olauncher.</string>
<string name="welcome_to_olauncher_settings">Our About page on the bottom has answers to all your questions. Don\'t forget. :)
\n\nThank you.</string>
- <string name="rate_us_message">Hey, if you find Olauncher useful, a 5-star rating will make us very happy. :)
- \n\nThank you and you won\'t see this again.</string>
+ <string name="rate_us_message">Hi, you won\'t see this message again.
+ \n\nIf you like Olauncher, can you please give us a 5-star rating? It helps us improve our ranking and makes us happy. Thank you!</string>
<string name="share_message">Hi, do you think your friends would love Olauncher as much as you do?
\n\nShare the app and help us spread the word. Thank you!</string>
<string name="keyboard_message">Hi, keyboard is the fastest way to find and launch apps in Olauncher. Can we request you to keep this On for a few more days and then decide?\n\nThe choice is always yours.</string>