浏览代码

Managed feedback state and saving state on sharedprefs

Khubaib 8 月之前
父节点
当前提交
aa1f7365a6

+ 10 - 0
app/src/main/java/com/vpn/fastestvpnservice/helpers/BasePreferenceHelper.kt

@@ -49,6 +49,7 @@ class BasePreferenceHelper(private val context: Context) : PreferencesHelper() {
         removePreference(context, KEY_FILENAME, KEY_SUBSCRIPTION)
         removePreference(context, KEY_FILENAME, KEY_CONNECTED_SERVER)
         removePreference(context, KEY_FILENAME, KEY_RECENTLY_SERVERS)
+        removePreference(context, KEY_FILENAME, KEY_FEEDBACK)
     }
 
     fun clearServerObject() {
@@ -537,6 +538,14 @@ class BasePreferenceHelper(private val context: Context) : PreferencesHelper() {
         putBooleanPreference(context, KEY_FILENAME, KEY_ISLOGGEDIN, state)
     }
 
+    fun getFeedbackState(): Boolean {
+        return getBooleanPreference(context, KEY_FILENAME, KEY_FEEDBACK)
+    }
+
+    fun setFeedbackState(state: Boolean) {
+        putBooleanPreference(context, KEY_FILENAME, KEY_FEEDBACK, state)
+    }
+
     fun getConnectState(): Int {
         return getIntegerPreference(context, KEY_FILENAME, KEY_ISCONNECT)
     }
@@ -617,5 +626,6 @@ class BasePreferenceHelper(private val context: Context) : PreferencesHelper() {
         private const val KEY_CONNECTED_SERVER = "keydata_connected_server"
         private const val KEY_SUBSCRIPTION = "keydata_subscription"
         private const val KEY_RECENTLY_SERVERS = "keydata_recently_servers"
+        private const val KEY_FEEDBACK = "key_feedback"
     }
 }

+ 9 - 3
app/src/main/java/com/vpn/fastestvpnservice/screens/bottomNavBarScreens/HomeScreen.kt

@@ -764,7 +764,7 @@ fun Home(
                     }
                 }
                 else {
-                    var isFeedbackClicked by remember { mutableStateOf(false) }
+                    var isFeedbackClicked by remember { mutableStateOf(prefHelper.getFeedbackState()) }
 
                     Box(
                         modifier = Modifier
@@ -949,7 +949,10 @@ fun Home(
                                         .size(24.dp)
                                         .pointerInput(Unit) {
                                             detectTapGestures {
-                                                if (!isFeedbackClicked) isFeedbackClicked = !isFeedbackClicked
+                                                if (!isFeedbackClicked) {
+                                                    isFeedbackClicked = !isFeedbackClicked
+                                                    prefHelper.setFeedbackState(isFeedbackClicked)
+                                                }
                                             }
                                         },
                                     colorFilter = ColorFilter.tint(colorResource(id = R.color.white))
@@ -962,7 +965,10 @@ fun Home(
                                         .size(24.dp)
                                         .pointerInput(Unit) {
                                             detectTapGestures {
-                                                if (!isFeedbackClicked) isFeedbackClicked = !isFeedbackClicked
+                                                if (!isFeedbackClicked) {
+                                                    isFeedbackClicked = !isFeedbackClicked
+                                                    prefHelper.setFeedbackState(isFeedbackClicked)
+                                                }
                                             }
                                         },
                                     colorFilter = ColorFilter.tint(colorResource(id = R.color.white))

+ 1 - 0
app/src/main/java/com/vpn/fastestvpnservice/utils/VPNConnectionsUtil.kt

@@ -136,6 +136,7 @@ class VPNConnectionsUtil: VpnStatus.StateListener {
         StringUp.value = 0.0
         StringDownUnit.value = " Byte/s"
         StringUpUnit.value = " Byte/s"
+        basePreferenceHelper.setFeedbackState(false)
 
         countDownTimer()
         try {

+ 1 - 0
app/src/main/java/de/blinkt/openvpn/core/App.java

@@ -52,6 +52,7 @@ public class App extends /*com.orm.SugarApp*/ Application {
 
     public static boolean isShowNotify = false;
     public static final boolean isAndroidTvBox = false;
+    public static boolean isFeedbackClicked = false;
 
     public static String device_id;
     public static long device_created;