Add log when the advanced button is clicked.
- register the advanced button expand listener and add the metrics log when it is clicked. Fixes: 70930626 Test: make RunSettingsRoboTests Change-Id: Ife4af4bd4a0a8534cf9ba63949660a810b09446a
This commit is contained in:
@@ -27,9 +27,11 @@ import android.util.Log;
|
|||||||
|
|
||||||
import androidx.annotation.VisibleForTesting;
|
import androidx.annotation.VisibleForTesting;
|
||||||
import androidx.preference.Preference;
|
import androidx.preference.Preference;
|
||||||
|
import androidx.preference.PreferenceGroup;
|
||||||
import androidx.preference.PreferenceManager;
|
import androidx.preference.PreferenceManager;
|
||||||
import androidx.preference.PreferenceScreen;
|
import androidx.preference.PreferenceScreen;
|
||||||
|
|
||||||
|
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
|
||||||
import com.android.settings.SettingsPreferenceFragment;
|
import com.android.settings.SettingsPreferenceFragment;
|
||||||
import com.android.settings.core.BasePreferenceController;
|
import com.android.settings.core.BasePreferenceController;
|
||||||
import com.android.settings.core.PreferenceControllerListHelper;
|
import com.android.settings.core.PreferenceControllerListHelper;
|
||||||
@@ -53,7 +55,7 @@ import java.util.Set;
|
|||||||
*/
|
*/
|
||||||
public abstract class DashboardFragment extends SettingsPreferenceFragment
|
public abstract class DashboardFragment extends SettingsPreferenceFragment
|
||||||
implements SettingsBaseActivity.CategoryListener, Indexable,
|
implements SettingsBaseActivity.CategoryListener, Indexable,
|
||||||
SummaryLoader.SummaryConsumer {
|
SummaryLoader.SummaryConsumer, PreferenceGroup.OnExpandButtonClickListener {
|
||||||
private static final String TAG = "DashboardFragment";
|
private static final String TAG = "DashboardFragment";
|
||||||
|
|
||||||
private final Map<Class, List<AbstractPreferenceController>> mPreferenceControllers =
|
private final Map<Class, List<AbstractPreferenceController>> mPreferenceControllers =
|
||||||
@@ -207,6 +209,12 @@ public abstract class DashboardFragment extends SettingsPreferenceFragment
|
|||||||
@Override
|
@Override
|
||||||
protected abstract int getPreferenceScreenResId();
|
protected abstract int getPreferenceScreenResId();
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onExpandButtonClick() {
|
||||||
|
mMetricsFeatureProvider.actionWithSource(getContext(), getMetricsCategory(),
|
||||||
|
MetricsEvent.ACTION_SETTINGS_ADVANCED_BUTTON_EXPAND);
|
||||||
|
}
|
||||||
|
|
||||||
protected boolean shouldForceRoundedIcon() {
|
protected boolean shouldForceRoundedIcon() {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -268,6 +276,7 @@ public abstract class DashboardFragment extends SettingsPreferenceFragment
|
|||||||
}
|
}
|
||||||
addPreferencesFromResource(resId);
|
addPreferencesFromResource(resId);
|
||||||
final PreferenceScreen screen = getPreferenceScreen();
|
final PreferenceScreen screen = getPreferenceScreen();
|
||||||
|
screen.setOnExpandButtonClickListener(this);
|
||||||
mPreferenceControllers.values().stream().flatMap(Collection::stream).forEach(
|
mPreferenceControllers.values().stream().flatMap(Collection::stream).forEach(
|
||||||
controller -> controller.displayPreference(screen));
|
controller -> controller.displayPreference(screen));
|
||||||
}
|
}
|
||||||
|
@@ -33,10 +33,12 @@ import androidx.preference.Preference;
|
|||||||
import androidx.preference.PreferenceManager;
|
import androidx.preference.PreferenceManager;
|
||||||
import androidx.preference.PreferenceScreen;
|
import androidx.preference.PreferenceScreen;
|
||||||
|
|
||||||
|
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
|
||||||
import com.android.settings.core.PreferenceControllerMixin;
|
import com.android.settings.core.PreferenceControllerMixin;
|
||||||
import com.android.settings.testutils.FakeFeatureFactory;
|
import com.android.settings.testutils.FakeFeatureFactory;
|
||||||
import com.android.settings.testutils.SettingsRobolectricTestRunner;
|
import com.android.settings.testutils.SettingsRobolectricTestRunner;
|
||||||
import com.android.settingslib.core.AbstractPreferenceController;
|
import com.android.settingslib.core.AbstractPreferenceController;
|
||||||
|
import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
|
||||||
import com.android.settingslib.core.instrumentation.VisibilityLoggerMixin;
|
import com.android.settingslib.core.instrumentation.VisibilityLoggerMixin;
|
||||||
import com.android.settingslib.drawer.DashboardCategory;
|
import com.android.settingslib.drawer.DashboardCategory;
|
||||||
import com.android.settingslib.drawer.Tile;
|
import com.android.settingslib.drawer.Tile;
|
||||||
@@ -177,6 +179,17 @@ public class DashboardFragmentTest {
|
|||||||
verify(mockController2).getPreferenceKey();
|
verify(mockController2).getPreferenceKey();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void onExpandButtonClick_shouldLogAdvancedButtonExpand() {
|
||||||
|
final MetricsFeatureProvider metricsFeatureProvider
|
||||||
|
= mFakeFeatureFactory.getMetricsFeatureProvider();
|
||||||
|
mTestFragment.onExpandButtonClick();
|
||||||
|
|
||||||
|
verify(metricsFeatureProvider).actionWithSource(
|
||||||
|
RuntimeEnvironment.application, MetricsEvent.DASHBOARD_CONTAINER,
|
||||||
|
MetricsEvent.ACTION_SETTINGS_ADVANCED_BUTTON_EXPAND);
|
||||||
|
}
|
||||||
|
|
||||||
public static class TestPreferenceController extends AbstractPreferenceController
|
public static class TestPreferenceController extends AbstractPreferenceController
|
||||||
implements PreferenceControllerMixin {
|
implements PreferenceControllerMixin {
|
||||||
|
|
||||||
@@ -230,7 +243,7 @@ public class DashboardFragmentTest {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getMetricsCategory() {
|
public int getMetricsCategory() {
|
||||||
return 0;
|
return MetricsEvent.DASHBOARD_CONTAINER;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
Reference in New Issue
Block a user