Add click tile event for tracking
- Search bar in homepage. - Avatar icon in homepage. - More personal safety in Safety & emergency. Test: Rebuilt rom Fix: 190341976 Change-Id: I14297211e4b7424f5fdeb46c360b3913101251d7
This commit is contained in:
@@ -39,7 +39,6 @@ import androidx.lifecycle.OnLifecycleEvent;
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.homepage.SettingsHomepageActivity;
|
||||
import com.android.settings.overlay.FeatureFactory;
|
||||
import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
|
||||
import com.android.settingslib.utils.ThreadUtils;
|
||||
|
||||
import java.net.URISyntaxException;
|
||||
@@ -59,6 +58,7 @@ public class AvatarViewMixin implements LifecycleObserver {
|
||||
private static final String METHOD_GET_ACCOUNT_AVATAR = "getAccountAvatar";
|
||||
private static final String KEY_AVATAR_BITMAP = "account_avatar";
|
||||
private static final String KEY_ACCOUNT_NAME = "account_name";
|
||||
private static final String KEY_AVATAR_ICON = "avatar_icon";
|
||||
private static final String EXTRA_ACCOUNT_NAME = "extra.accountName";
|
||||
|
||||
private final Context mContext;
|
||||
@@ -105,11 +105,8 @@ public class AvatarViewMixin implements LifecycleObserver {
|
||||
return;
|
||||
}
|
||||
|
||||
final MetricsFeatureProvider metricsFeatureProvider = FeatureFactory.getFactory(
|
||||
mContext).getMetricsFeatureProvider();
|
||||
metricsFeatureProvider.action(SettingsEnums.PAGE_UNKNOWN,
|
||||
SettingsEnums.CLICK_ACCOUNT_AVATAR, SettingsEnums.SETTINGS_HOMEPAGE,
|
||||
null /* key */, Integer.MIN_VALUE /* value */);
|
||||
FeatureFactory.getFactory(mContext).getMetricsFeatureProvider()
|
||||
.logSettingsTileClick(KEY_AVATAR_ICON, SettingsEnums.SETTINGS_HOMEPAGE);
|
||||
|
||||
// Here may have two different UI while start the activity.
|
||||
// It will display adding account UI when device has no any account.
|
||||
|
@@ -43,6 +43,7 @@ import androidx.preference.PreferenceScreen;
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.Utils;
|
||||
import com.android.settings.core.BasePreferenceController;
|
||||
import com.android.settings.overlay.FeatureFactory;
|
||||
import com.android.settingslib.widget.LayoutPreference;
|
||||
|
||||
import java.util.List;
|
||||
@@ -57,6 +58,7 @@ public class MoreSettingsPreferenceController extends BasePreferenceController i
|
||||
private static final String TAG = "MoreSettingsPrefCtrl";
|
||||
@VisibleForTesting
|
||||
Intent mIntent;
|
||||
private LayoutPreference mPreference;
|
||||
|
||||
public MoreSettingsPreferenceController(Context context, String preferenceKey) {
|
||||
super(context, preferenceKey);
|
||||
@@ -82,8 +84,8 @@ public class MoreSettingsPreferenceController extends BasePreferenceController i
|
||||
@Override
|
||||
public void displayPreference(PreferenceScreen screen) {
|
||||
super.displayPreference(screen);
|
||||
final LayoutPreference pref = screen.findPreference(getPreferenceKey());
|
||||
final Button button = pref.findViewById(R.id.button);
|
||||
mPreference = screen.findPreference(getPreferenceKey());
|
||||
final Button button = mPreference.findViewById(R.id.button);
|
||||
final Drawable icon = getIcon();
|
||||
button.setText(getButtonText());
|
||||
if (icon != null) {
|
||||
@@ -109,6 +111,8 @@ public class MoreSettingsPreferenceController extends BasePreferenceController i
|
||||
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
FeatureFactory.getFactory(mContext).getMetricsFeatureProvider()
|
||||
.logClickedPreference(mPreference, getMetricsCategory());
|
||||
final Intent intent = new Intent(mIntent)
|
||||
.addCategory(Intent.CATEGORY_LAUNCHER)
|
||||
.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
|
||||
@@ -170,5 +174,4 @@ public class MoreSettingsPreferenceController extends BasePreferenceController i
|
||||
icon.draw(canvas);
|
||||
return bitmap;
|
||||
}
|
||||
|
||||
}
|
||||
|
@@ -21,7 +21,6 @@ import static android.view.View.IMPORTANT_FOR_ACCESSIBILITY_NO;
|
||||
import android.annotation.NonNull;
|
||||
import android.app.Activity;
|
||||
import android.app.ActivityOptions;
|
||||
import android.app.settings.SettingsEnums;
|
||||
import android.content.ComponentName;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
@@ -43,6 +42,7 @@ import com.google.android.setupcompat.util.WizardManagerHelper;
|
||||
*/
|
||||
public interface SearchFeatureProvider {
|
||||
|
||||
String KEY_HOMEPAGE_SEARCH_BAR = "homepage_search_bar";
|
||||
int REQUEST_CODE = 501;
|
||||
|
||||
/**
|
||||
@@ -100,8 +100,9 @@ public interface SearchFeatureProvider {
|
||||
|
||||
FeatureFactory.getFactory(context).getSlicesFeatureProvider()
|
||||
.indexSliceDataAsync(context);
|
||||
|
||||
FeatureFactory.getFactory(context).getMetricsFeatureProvider()
|
||||
.action(context, SettingsEnums.ACTION_SEARCH_RESULTS);
|
||||
.logSettingsTileClick(KEY_HOMEPAGE_SEARCH_BAR, pageId);
|
||||
final Bundle bundle = ActivityOptions.makeSceneTransitionAnimation(activity).toBundle();
|
||||
activity.startActivityForResult(intent, REQUEST_CODE, bundle);
|
||||
});
|
||||
|
Reference in New Issue
Block a user