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

Commit 9fd2b115 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Fix crash in getMetricsTag"

parents c0a4e657 54a5c444
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -205,10 +205,14 @@ public class SettingsActivity extends SettingsBaseActivity
    }

    private String getMetricsTag() {
        String tag = getClass().getName();
        String tag = null;
        if (getIntent() != null && getIntent().hasExtra(EXTRA_SHOW_FRAGMENT)) {
            tag = getIntent().getStringExtra(EXTRA_SHOW_FRAGMENT);
        }
        if (TextUtils.isEmpty(tag)) {
            Log.w(LOG_TAG, "MetricsTag is invalid " + tag);
            tag = getClass().getName();
        }
        if (tag.startsWith("com.android.settings.")) {
            tag = tag.replace("com.android.settings.", "");
        }
+14 −0
Original line number Diff line number Diff line
@@ -16,6 +16,8 @@

package com.android.settings;

import static com.android.settings.SettingsActivity.EXTRA_SHOW_FRAGMENT;

import static com.google.common.truth.Truth.assertThat;

import static org.mockito.ArgumentMatchers.anyInt;
@@ -34,6 +36,7 @@ import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentTransaction;

import com.android.settings.core.OnActivityResultListener;
import com.android.settings.testutils.FakeFeatureFactory;

import org.junit.Before;
import org.junit.Test;
@@ -82,6 +85,17 @@ public class SettingsActivityTest {
        verify(mTaskDescription).setIcon(anyInt());
    }

    @Test
    public void getSharedPreferences_intentExtraIsNull_shouldNotCrash() {
        final Intent intent = new Intent();
        intent.putExtra(EXTRA_SHOW_FRAGMENT, (String)null);
        doReturn(intent).when(mActivity).getIntent();
        doReturn(mContext.getPackageName()).when(mActivity).getPackageName();
        FakeFeatureFactory.setupForTest();

        mActivity.getSharedPreferences(mContext.getPackageName() + "_preferences", 0);
    }

    @Test
    public void onActivityResult_shouldDelegateToListener() {
        final List<Fragment> fragments = new ArrayList<>();