[Catalyst] Add back Airplane toggle metrics
- The original Airplane toggle metrics is recorded by AirplaneEnabler. Since the design of Catalyst removes AirplaneEnabler, the metrics needs to be added to Catalyst preference. NO_IFTTT=Catalyst only Bug: 386330825 Flag: EXEMPT bugfix Test: Manual testing atest -c AirplaneModePreferenceTest Change-Id: I61f9fc5d623e7d497d13ddf7bc37990ce0fa223e
This commit is contained in:
@@ -17,6 +17,7 @@
|
||||
package com.android.settings.network
|
||||
|
||||
import android.app.Activity
|
||||
import android.app.settings.SettingsEnums.ACTION_AIRPLANE_TOGGLE
|
||||
import android.content.Context
|
||||
import android.content.Intent
|
||||
import android.content.pm.PackageManager
|
||||
@@ -33,6 +34,7 @@ import com.android.settings.PreferenceRestrictionMixin
|
||||
import com.android.settings.R
|
||||
import com.android.settings.Utils
|
||||
import com.android.settings.network.SatelliteRepository.Companion.isSatelliteOn
|
||||
import com.android.settings.overlay.FeatureFactory.Companion.featureFactory
|
||||
import com.android.settingslib.RestrictedSwitchPreference
|
||||
import com.android.settingslib.datastore.AbstractKeyedDataObservable
|
||||
import com.android.settingslib.datastore.DataChangeReason
|
||||
@@ -113,6 +115,9 @@ class AirplaneModePreference :
|
||||
val intent = Intent(Intent.ACTION_AIRPLANE_MODE_CHANGED)
|
||||
intent.putExtra("state", value)
|
||||
context.sendBroadcastAsUser(intent, UserHandle.ALL)
|
||||
|
||||
val metricsFeature = featureFactory.metricsFeatureProvider
|
||||
metricsFeature.action(context, ACTION_AIRPLANE_TOGGLE, value)
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -16,6 +16,7 @@
|
||||
|
||||
package com.android.settings.network
|
||||
|
||||
import android.app.settings.SettingsEnums.ACTION_AIRPLANE_TOGGLE
|
||||
import android.content.Context
|
||||
import android.content.ContextWrapper
|
||||
import android.content.pm.PackageManager
|
||||
@@ -26,12 +27,14 @@ import android.telephony.TelephonyManager
|
||||
import androidx.preference.SwitchPreferenceCompat
|
||||
import androidx.test.core.app.ApplicationProvider
|
||||
import androidx.test.ext.junit.runners.AndroidJUnit4
|
||||
import com.android.settings.testutils.FakeFeatureFactory
|
||||
import com.android.settingslib.datastore.SettingsGlobalStore
|
||||
import com.android.settingslib.preference.createAndBindWidget
|
||||
import com.google.common.truth.Truth.assertThat
|
||||
import org.junit.Test
|
||||
import org.junit.runner.RunWith
|
||||
import org.mockito.ArgumentMatchers.anyInt
|
||||
import org.mockito.Mockito.verify
|
||||
import org.mockito.kotlin.doReturn
|
||||
import org.mockito.kotlin.mock
|
||||
import org.mockito.kotlin.stub
|
||||
@@ -103,6 +106,24 @@ class AirplaneModePreferenceTest {
|
||||
assertThat(getValue).isFalse()
|
||||
}
|
||||
|
||||
@Test
|
||||
fun setValue_valueTrue_metricsActionAirplaneToggleTrue() {
|
||||
val metricsFeatureProvider = FakeFeatureFactory.setupForTest().metricsFeatureProvider
|
||||
|
||||
airplaneModePreference.storage(context).setBoolean(AirplaneModePreference.KEY, true)
|
||||
|
||||
verify(metricsFeatureProvider).action(context, ACTION_AIRPLANE_TOGGLE, true)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun setValue_valueFalse_metricsActionAirplaneToggleFalse() {
|
||||
val metricsFeatureProvider = FakeFeatureFactory.setupForTest().metricsFeatureProvider
|
||||
|
||||
airplaneModePreference.storage(context).setBoolean(AirplaneModePreference.KEY, false)
|
||||
|
||||
verify(metricsFeatureProvider).action(context, ACTION_AIRPLANE_TOGGLE, false)
|
||||
}
|
||||
|
||||
@Test
|
||||
fun performClick_defaultOn_checkedIsFalse() {
|
||||
SettingsGlobalStore.get(context).setInt(Settings.Global.AIRPLANE_MODE_ON, 1)
|
||||
|
Reference in New Issue
Block a user