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:
Tsung-Mao Fang
2021-06-16 16:19:36 +08:00
parent 19baf0df84
commit 22b50de9f4
3 changed files with 12 additions and 11 deletions

View File

@@ -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.

View File

@@ -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;
}
}

View File

@@ -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);
});