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