Add preference click metric logs for some special cases
Bug: 137559984 Test: visual, robotest Change-Id: If8624b49abcd0000487065160ce4a7ba861f234c
This commit is contained in:
@@ -27,22 +27,25 @@ import android.telephony.SubscriptionInfo;
|
||||
import android.telephony.SubscriptionManager;
|
||||
import android.telephony.euicc.EuiccManager;
|
||||
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.core.PreferenceControllerMixin;
|
||||
import com.android.settings.network.telephony.MobileNetworkActivity;
|
||||
import com.android.settings.network.telephony.MobileNetworkUtils;
|
||||
import com.android.settings.widget.AddPreference;
|
||||
import com.android.settingslib.Utils;
|
||||
import com.android.settingslib.core.AbstractPreferenceController;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import androidx.lifecycle.Lifecycle;
|
||||
import androidx.lifecycle.LifecycleObserver;
|
||||
import androidx.lifecycle.OnLifecycleEvent;
|
||||
import androidx.preference.Preference;
|
||||
import androidx.preference.PreferenceScreen;
|
||||
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.core.PreferenceControllerMixin;
|
||||
import com.android.settings.dashboard.DashboardFragment;
|
||||
import com.android.settings.network.telephony.MobileNetworkActivity;
|
||||
import com.android.settings.network.telephony.MobileNetworkUtils;
|
||||
import com.android.settings.overlay.FeatureFactory;
|
||||
import com.android.settings.widget.AddPreference;
|
||||
import com.android.settingslib.Utils;
|
||||
import com.android.settingslib.core.AbstractPreferenceController;
|
||||
import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class MobileNetworkSummaryController extends AbstractPreferenceController implements
|
||||
SubscriptionsChangeListener.SubscriptionsChangeListenerClient, LifecycleObserver,
|
||||
PreferenceControllerMixin {
|
||||
@@ -50,6 +53,8 @@ public class MobileNetworkSummaryController extends AbstractPreferenceController
|
||||
|
||||
private static final String KEY = "mobile_network_list";
|
||||
|
||||
private final MetricsFeatureProvider mMetricsFeatureProvider;
|
||||
|
||||
private SubscriptionManager mSubscriptionManager;
|
||||
private UserManager mUserManager;
|
||||
private SubscriptionsChangeListener mChangeListener;
|
||||
@@ -72,6 +77,7 @@ public class MobileNetworkSummaryController extends AbstractPreferenceController
|
||||
*/
|
||||
public MobileNetworkSummaryController(Context context, Lifecycle lifecycle) {
|
||||
super(context);
|
||||
mMetricsFeatureProvider = FeatureFactory.getFactory(mContext).getMetricsFeatureProvider();
|
||||
mSubscriptionManager = context.getSystemService(SubscriptionManager.class);
|
||||
mUserManager = context.getSystemService(UserManager.class);
|
||||
if (lifecycle != null) {
|
||||
@@ -146,6 +152,8 @@ public class MobileNetworkSummaryController extends AbstractPreferenceController
|
||||
if (subs.isEmpty()) {
|
||||
if (MobileNetworkUtils.showEuiccSettings(mContext)) {
|
||||
mPreference.setOnPreferenceClickListener((Preference pref) -> {
|
||||
mMetricsFeatureProvider.logClickedPreference(pref,
|
||||
pref.getExtras().getInt(DashboardFragment.CATEGORY));
|
||||
startAddSimFlow();
|
||||
return true;
|
||||
});
|
||||
@@ -157,11 +165,17 @@ public class MobileNetworkSummaryController extends AbstractPreferenceController
|
||||
// supported.
|
||||
if (MobileNetworkUtils.showEuiccSettings(mContext)) {
|
||||
mPreference.setAddWidgetEnabled(!mChangeListener.isAirplaneModeOn());
|
||||
mPreference.setOnAddClickListener(p -> startAddSimFlow());
|
||||
mPreference.setOnAddClickListener(p -> {
|
||||
mMetricsFeatureProvider.logClickedPreference(p,
|
||||
p.getExtras().getInt(DashboardFragment.CATEGORY));
|
||||
startAddSimFlow();
|
||||
});
|
||||
}
|
||||
|
||||
if (subs.size() == 1) {
|
||||
mPreference.setOnPreferenceClickListener((Preference pref) -> {
|
||||
mMetricsFeatureProvider.logClickedPreference(pref,
|
||||
pref.getExtras().getInt(DashboardFragment.CATEGORY));
|
||||
final SubscriptionInfo info = subs.get(0);
|
||||
final int subId = info.getSubscriptionId();
|
||||
if (!info.isEmbedded() && !mSubscriptionManager.isActiveSubscriptionId(subId)
|
||||
|
Reference in New Issue
Block a user