diff --git a/app/src/main/assets/dash.json b/app/src/main/assets/dash.json index 985d5e3d1..cf083cb6e 100755 --- a/app/src/main/assets/dash.json +++ b/app/src/main/assets/dash.json @@ -22,7 +22,7 @@ }, { "id": "3", - "title": "Privacy Policy", + "title": "Privacy policy", "subtitle": "Find out if we have your nudes :p", "icon": "ic_privacy", "url": "https://gitlab.com/AuroraOSS/AuroraStore/-/raw/master/POLICY.md" diff --git a/app/src/main/java/com/aurora/Constants.kt b/app/src/main/java/com/aurora/Constants.kt index 345374b95..6fbb61e4e 100644 --- a/app/src/main/java/com/aurora/Constants.kt +++ b/app/src/main/java/com/aurora/Constants.kt @@ -32,6 +32,7 @@ object Constants { const val EXODUS_BASE_URL = "https://reports.exodus-privacy.eu.org/api/search/" const val EXODUS_REPORT_URL = "https://reports.exodus-privacy.eu.org/reports/" const val SHARE_URL = "http://play.google.com/store/apps/details?id=" + const val TOS_URL = "https://gitlab.com/AuroraOSS/AuroraStore/-/raw/master/TermsOfService.md" const val UPDATE_URL = "https://gitlab.com/AuroraOSS/AuroraStore/raw/master/updates.json" const val NOTIFICATION_CHANNEL_ALERT = "NOTIFICATION_CHANNEL_ALERT" diff --git a/app/src/main/java/com/aurora/store/MainActivity.kt b/app/src/main/java/com/aurora/store/MainActivity.kt index ffe02a522..6950ecef7 100644 --- a/app/src/main/java/com/aurora/store/MainActivity.kt +++ b/app/src/main/java/com/aurora/store/MainActivity.kt @@ -115,6 +115,10 @@ class MainActivity : BaseActivity() { attachDrawer() attachSearch() + if (!Preferences.getBoolean(this, Preferences.PREFERENCE_TOS_READ)) { + askToReadTOS() + } + /*Check only if download to external storage is enabled*/ if (Preferences.getBoolean(this, Preferences.PREFERENCE_DOWNLOAD_EXTERNAL)) { checkExternalStorageAccessPermission() diff --git a/app/src/main/java/com/aurora/store/util/Preferences.kt b/app/src/main/java/com/aurora/store/util/Preferences.kt index 2651f7caf..0ed646edf 100644 --- a/app/src/main/java/com/aurora/store/util/Preferences.kt +++ b/app/src/main/java/com/aurora/store/util/Preferences.kt @@ -46,6 +46,8 @@ object Preferences { const val PREFERENCE_DOWNLOAD_EXTERNAL = "PREFERENCE_DOWNLOAD_EXTERNAL" const val PREFERENCE_DOWNLOAD_WIFI = "PREFERENCE_DOWNLOAD_WIFI" + const val PREFERENCE_TOS_READ = "PREFERENCE_TOS_READ" + private fun getPrefs(context: Context): SharedPreferences { return PreferenceManager.getDefaultSharedPreferences(context) diff --git a/app/src/main/java/com/aurora/store/view/ui/commons/BaseActivity.kt b/app/src/main/java/com/aurora/store/view/ui/commons/BaseActivity.kt index 762bb2922..bcc96b956 100644 --- a/app/src/main/java/com/aurora/store/view/ui/commons/BaseActivity.kt +++ b/app/src/main/java/com/aurora/store/view/ui/commons/BaseActivity.kt @@ -35,9 +35,13 @@ import com.aurora.store.util.Preferences.PREFERENCE_THEME_TYPE import com.aurora.store.view.ui.account.GoogleActivity import com.aurora.store.view.ui.details.* import com.aurora.store.view.ui.sheets.NetworkDialogSheet +import com.aurora.store.view.ui.sheets.TOSSheet import com.google.gson.Gson import com.google.gson.GsonBuilder +import nl.komponents.kovenant.task +import nl.komponents.kovenant.ui.successUi import java.lang.reflect.Modifier +import java.util.concurrent.TimeUnit abstract class BaseActivity : AppCompatActivity(), NetworkProvider.NetworkListener { @@ -136,6 +140,15 @@ abstract class BaseActivity : AppCompatActivity(), NetworkProvider.NetworkListen ) } + fun askToReadTOS() { + task { + TimeUnit.SECONDS.sleep(5) + } successUi { + TOSSheet.newInstance().show(supportFragmentManager, TOSSheet.TAG) + } + } + + fun showNetworkConnectivitySheet() { runOnUiThread { supportFragmentManager.beginTransaction() diff --git a/app/src/main/java/com/aurora/store/view/ui/onboarding/OnboardingActivity.kt b/app/src/main/java/com/aurora/store/view/ui/onboarding/OnboardingActivity.kt index a1ec82073..a4c397496 100644 --- a/app/src/main/java/com/aurora/store/view/ui/onboarding/OnboardingActivity.kt +++ b/app/src/main/java/com/aurora/store/view/ui/onboarding/OnboardingActivity.kt @@ -26,6 +26,7 @@ import androidx.fragment.app.FragmentActivity import androidx.viewpager2.adapter.FragmentStateAdapter import androidx.viewpager2.widget.ViewPager2.OnPageChangeCallback import com.aurora.Constants +import com.aurora.extensions.open import com.aurora.store.R import com.aurora.store.databinding.ActivityOnboardingBinding import com.aurora.store.util.Preferences @@ -39,7 +40,6 @@ import com.aurora.store.util.Preferences.PREFERENCE_INSTALLER_ID import com.aurora.store.util.Preferences.PREFERENCE_INTRO import com.aurora.store.util.Preferences.PREFERENCE_THEME_ACCENT import com.aurora.store.util.Preferences.PREFERENCE_THEME_TYPE -import com.aurora.extensions.open import com.aurora.store.util.save import com.aurora.store.view.ui.commons.BaseActivity import com.aurora.store.view.ui.splash.SplashActivity @@ -84,6 +84,10 @@ class OnboardingActivity : BaseActivity() { moveBackward() } + if (!Preferences.getBoolean(this, Preferences.PREFERENCE_TOS_READ)) { + askToReadTOS() + } + onNewIntent(intent) } @@ -92,7 +96,6 @@ class OnboardingActivity : BaseActivity() { intent?.let { val pos = intent.getIntExtra(Constants.INT_EXTRA, 0) B.viewpager2.setCurrentItem(pos, false) - } } diff --git a/app/src/main/java/com/aurora/store/view/ui/sheets/TOSSheet.kt b/app/src/main/java/com/aurora/store/view/ui/sheets/TOSSheet.kt new file mode 100644 index 000000000..79bb3bcf1 --- /dev/null +++ b/app/src/main/java/com/aurora/store/view/ui/sheets/TOSSheet.kt @@ -0,0 +1,76 @@ +/* + * Aurora Store + * Copyright (C) 2021, Rahul Kumar Patel + * + * Aurora Store is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * Aurora Store is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Aurora Store. If not, see . + * + */ + +package com.aurora.store.view.ui.sheets + +import android.os.Bundle +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import com.aurora.Constants +import com.aurora.extensions.browse +import com.aurora.store.databinding.SheetTosBinding +import com.aurora.store.util.Preferences + +class TOSSheet : BaseBottomSheet() { + + private lateinit var B: SheetTosBinding + + companion object { + + const val TAG = "TOSSheet" + + @JvmStatic + fun newInstance(): TOSSheet { + return TOSSheet().apply { + arguments = Bundle().apply { + + } + } + } + } + + override fun onCreateContentView( + inflater: LayoutInflater, + container: ViewGroup, + savedInstanceState: Bundle? + ): View { + B = SheetTosBinding.inflate(inflater, container, false) + + attachAction() + + return B.root + } + + override fun onContentViewCreated(view: View, savedInstanceState: Bundle?) { + + } + + private fun attachAction() { + B.btnPrimary.setOnClickListener { + requireContext().browse(Constants.TOS_URL) + Preferences.putBoolean(requireContext(), Preferences.PREFERENCE_TOS_READ, true) + } + + B.btnSecondary.setOnClickListener { + Preferences.putBoolean(requireContext(), Preferences.PREFERENCE_TOS_READ, true) + dismissAllowingStateLoss() + } + } +} diff --git a/app/src/main/res/layout/sheet_tos.xml b/app/src/main/res/layout/sheet_tos.xml new file mode 100644 index 000000000..88b4c1c1d --- /dev/null +++ b/app/src/main/res/layout/sheet_tos.xml @@ -0,0 +1,101 @@ + + + + + + + + + + + + + + + + + + + + + + + + + \ 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 619ae2f92..dd3fb0001 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -45,6 +45,7 @@ "Login using" "Logout from Aurora" + "Accept" "Accounts" "All reviews" "Apply" @@ -104,6 +105,7 @@ "Post" "Previous" "Purchase" + "Read & accept" "Resend" "Restart" "Resume" @@ -238,7 +240,6 @@ "Please, disable MIUI optimizations to allow installations, otherwise you can choose Root or Services installer." "Optionally you can choose Native installer, but then you can not install bundled (split) APKs, so choice is yours." - "New update available" "Do you wish to update now ?" "update available" @@ -255,6 +256,8 @@ "Permissions" "Themes" "Welcome" + "Terms of services" + "Read our Terms of services and accept it before you continue to use Aurora Store." "How you doing?" "External Storage Access"