Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 22b50de9 authored by Tsung-Mao Fang's avatar Tsung-Mao Fang
Browse files

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
parent 19baf0df
Loading
Loading
Loading
Loading
+3 −6
Original line number Diff line number Diff line
@@ -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.
+6 −3
Original line number Diff line number Diff line
@@ -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;
    }

}
+3 −2
Original line number Diff line number Diff line
@@ -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);
        });