diff options
| author | Tanuj <thetanuj@hotmail.com> | 2022-07-27 15:06:46 +0530 |
|---|---|---|
| committer | Tanuj <thetanuj@hotmail.com> | 2022-07-27 15:06:46 +0530 |
| commit | ca7a7ee660cfbbf0b2092a05b585c3524adfdab2 (patch) | |
| tree | e94bb17d26681b3df00fb642f827939c7cb47833 /app/src/main/java | |
| parent | 3108eab98f3f6b0ba9fb7d2a426d8d0147307df3 (diff) | |
| download | SidePhOnelauncher-ca7a7ee660cfbbf0b2092a05b585c3524adfdab2.tar.gz SidePhOnelauncher-ca7a7ee660cfbbf0b2092a05b585c3524adfdab2.tar.bz2 SidePhOnelauncher-ca7a7ee660cfbbf0b2092a05b585c3524adfdab2.zip | |
Added support olauncher affiliate link
Diffstat (limited to 'app/src/main/java')
5 files changed, 67 insertions, 14 deletions
diff --git a/app/src/main/java/app/olauncher/MainActivity.kt b/app/src/main/java/app/olauncher/MainActivity.kt index 618f88a..ebbc021 100644 --- a/app/src/main/java/app/olauncher/MainActivity.kt +++ b/app/src/main/java/app/olauncher/MainActivity.kt @@ -8,6 +8,7 @@ import android.content.res.Configuration import android.os.Build import android.os.Bundle import android.provider.Settings +import android.util.Log import android.view.View import android.view.WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS import androidx.appcompat.app.AppCompatActivity @@ -20,6 +21,7 @@ import app.olauncher.data.Constants import app.olauncher.data.Prefs import app.olauncher.helper.* import kotlinx.android.synthetic.main.activity_main.* +import java.util.* class MainActivity : AppCompatActivity() { @@ -85,28 +87,27 @@ class MainActivity : AppCompatActivity() { viewModel.showMessageDialog("") } closeOneLink.setOnClickListener { - viewModel.showSupportDialog(false) + supportOlauncherLayout.visibility = View.GONE } copyOneLink.setOnClickListener { - this.copyToClipboard(Constants.URL_AFFILIATE) - viewModel.showSupportDialog(false) + copyToClipboard(getAffiliateUrl()) + supportOlauncherLayout.visibility = View.GONE } openOneLink.setOnClickListener { - this.openUrl(Constants.URL_AFFILIATE) - viewModel.showSupportDialog(false) + openUrl(getAffiliateUrl()) } } private fun initObservers(viewModel: MainViewModel) { - viewModel.launcherResetFailed.observe(this, { + viewModel.launcherResetFailed.observe(this) { openLauncherChooser(it) - }) - viewModel.showMessageDialog.observe(this, { + } + viewModel.showMessageDialog.observe(this) { showMessage(it) - }) - viewModel.showSupportDialog.observe(this, { + } + viewModel.showSupportDialog.observe(this) { supportOlauncherLayout.isVisible = it - }) + } } @SuppressLint("SourceLockedOrientationActivity") @@ -118,6 +119,8 @@ class MainActivity : AppCompatActivity() { } private fun backToHomeScreen() { + messageLayout.visibility = View.GONE + supportOlauncherLayout.visibility = View.GONE // Whenever home button is pressed or user leaves the launcher, // pop all the fragments except main if (navController.currentDestination?.id != R.id.mainFragment) @@ -150,6 +153,13 @@ class MainActivity : AppCompatActivity() { messageLayout.visibility = View.VISIBLE } + private fun getAffiliateUrl(): String { + return if (TimeZone.getDefault().displayName.equals(Constants.IST_NAME, true)) + Constants.URL_AFFILIATE_IN + else + Constants.URL_AFFILIATE + } + override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { super.onActivityResult(requestCode, resultCode, data) when (requestCode) { diff --git a/app/src/main/java/app/olauncher/MainViewModel.kt b/app/src/main/java/app/olauncher/MainViewModel.kt index 793a7dd..9312620 100644 --- a/app/src/main/java/app/olauncher/MainViewModel.kt +++ b/app/src/main/java/app/olauncher/MainViewModel.kt @@ -30,7 +30,7 @@ class MainViewModel(application: Application) : AndroidViewModel(application) { val launcherResetFailed = MutableLiveData<Boolean>() val homeAppAlignment = MutableLiveData<Int>() val showMessageDialog = MutableLiveData<String>() - val showSupportDialog = MutableLiveData<Boolean>() + val showSupportDialog = SingleLiveEvent<Boolean>() fun selectedApp(appModel: AppModel, flag: Int) { when (flag) { diff --git a/app/src/main/java/app/olauncher/data/Constants.kt b/app/src/main/java/app/olauncher/data/Constants.kt index 3577521..debdce5 100644 --- a/app/src/main/java/app/olauncher/data/Constants.kt +++ b/app/src/main/java/app/olauncher/data/Constants.kt @@ -49,10 +49,12 @@ object Constants { const val URL_TWITTER_TANUJ = "https://twitter.com/tanujnotes" const val URL_INSTA_OLAUNCHER = "https://instagram.com/olauncherapp" const val URL_AFFILIATE = "https://amzn.to/3uftwFW" - - const val WALLPAPER_WORKER_NAME = "WALLPAPER_WORKER_NAME" + const val URL_AFFILIATE_IN = "https://www.amazon.in/?tag=tanujnotes-20" const val URL_NOTIFY = "https://gist.githubusercontent.com/tanujnotes/da9490348422979650ccb3ec9392a40f/raw" const val URL_WALLPAPERS = "https://gist.githubusercontent.com/tanujnotes/bf400a269746c5c124a599af040dd82e/raw" const val URL_DEFAULT_DARK_WALLPAPER = "https://images.unsplash.com/photo-1512551980832-13df02babc9e" const val URL_DEFAULT_LIGHT_WALLPAPER = "https://images.unsplash.com/photo-1515549832467-8783363e19b6" + + const val WALLPAPER_WORKER_NAME = "WALLPAPER_WORKER_NAME" + const val IST_NAME = "India Standard Time" }
\ No newline at end of file diff --git a/app/src/main/java/app/olauncher/helper/SingleLiveEvent.kt b/app/src/main/java/app/olauncher/helper/SingleLiveEvent.kt new file mode 100644 index 0000000..de74c1f --- /dev/null +++ b/app/src/main/java/app/olauncher/helper/SingleLiveEvent.kt @@ -0,0 +1,36 @@ +package app.olauncher.helper + +import android.util.Log +import androidx.annotation.MainThread +import androidx.lifecycle.LifecycleOwner +import androidx.lifecycle.MutableLiveData +import androidx.lifecycle.Observer +import java.util.concurrent.atomic.AtomicBoolean + +class SingleLiveEvent<T> : MutableLiveData<T>() { + private val pending = AtomicBoolean(false) + + @MainThread + override fun observe(owner: LifecycleOwner, observer: Observer<in T>) { + if (hasActiveObservers()) { + Log.d("SingleLiveEvent", "Only one observer will be notified of the changes") + } + + super.observe(owner) { t -> + if (pending.compareAndSet(true, false)) { + observer.onChanged(t) + } + } + } + + @MainThread + override fun setValue(t: T?) { + pending.set(true) + super.setValue(t) + } + + @MainThread + fun call() { + value = null + } +}
\ No newline at end of file diff --git a/app/src/main/java/app/olauncher/ui/SettingsFragment.kt b/app/src/main/java/app/olauncher/ui/SettingsFragment.kt index e7289a5..488973b 100644 --- a/app/src/main/java/app/olauncher/ui/SettingsFragment.kt +++ b/app/src/main/java/app/olauncher/ui/SettingsFragment.kt @@ -117,6 +117,10 @@ class SettingsFragment : Fragment(), View.OnClickListener, View.OnLongClickListe prefs.rateClicked = true rateApp() } + R.id.affiliate -> { + viewModel.showSupportDialog(true) + findNavController().popBackStack() + } R.id.twitter -> requireContext().openUrl(Constants.URL_TWITTER_TANUJ) R.id.instagram -> requireContext().openUrl(Constants.URL_INSTA_OLAUNCHER) R.id.privacy -> requireContext().openUrl(Constants.URL_OLAUNCHER_PRIVACY) @@ -177,6 +181,7 @@ class SettingsFragment : Fragment(), View.OnClickListener, View.OnLongClickListe instagram.setOnClickListener(this) privacy.setOnClickListener(this) github.setOnClickListener(this) + affiliate.setOnClickListener(this) moreApps.setOnClickListener(this) maxApps0.setOnClickListener(this) |
