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

Commit 6dade8e4 authored by Fan Zhang's avatar Fan Zhang
Browse files

Move "Build Number" slice to a different controller.

There are 2 build number tiles in settings: Android version -> Build
number and About phone -> build number.

The way we index breadcrumb for each slice is making some client
confused. So this change moves the slice capability from Androi
version>BuildNumber to About phone.

Fixes: 130652710
Test: reindex, robotest
Change-Id: I9054d0db124b706e7984cd3d19774bb604bd7fd3
parent 7af19fcb
Loading
Loading
Loading
Loading
+22 −1
Original line number Diff line number Diff line
@@ -38,6 +38,7 @@ import com.android.settings.core.BasePreferenceController;
import com.android.settings.core.InstrumentedPreferenceFragment;
import com.android.settings.overlay.FeatureFactory;
import com.android.settings.password.ChooseLockSettingsHelper;
import com.android.settings.slices.Sliceable;
import com.android.settingslib.RestrictedLockUtils;
import com.android.settingslib.RestrictedLockUtilsInternal;
import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
@@ -91,7 +92,27 @@ public class BuildNumberPreferenceController extends BasePreferenceController im

    @Override
    public int getAvailabilityStatus() {
        return AVAILABLE_UNSEARCHABLE;
        return AVAILABLE;
    }

    @Override
    public boolean isSliceable() {
        return true;
    }

    @Override
    public boolean isCopyableSlice() {
        return true;
    }

    @Override
    public boolean useDynamicSliceSummary() {
        return true;
    }

    @Override
    public void copy() {
        Sliceable.setCopyContent(mContext, getSummary(), mContext.getText(R.string.build_number));
    }

    @Override
+1 −34
Original line number Diff line number Diff line
@@ -16,16 +16,10 @@

package com.android.settings.deviceinfo.firmwareversion;

import static android.content.Context.CLIPBOARD_SERVICE;

import android.content.ClipData;
import android.content.ClipboardManager;
import android.content.Context;
import android.os.Build;
import android.text.BidiFormatter;
import android.widget.Toast;

import com.android.settings.R;
import com.android.settings.core.BasePreferenceController;

public class SimpleBuildNumberPreferenceController extends BasePreferenceController {
@@ -37,38 +31,11 @@ public class SimpleBuildNumberPreferenceController extends BasePreferenceControl

    @Override
    public int getAvailabilityStatus() {
        return AVAILABLE;
        return AVAILABLE_UNSEARCHABLE;
    }

    @Override
    public CharSequence getSummary() {
        return BidiFormatter.getInstance().unicodeWrap(Build.DISPLAY);
    }

    @Override
    public boolean isSliceable() {
        return true;
    }

    @Override
    public boolean isCopyableSlice() {
        return true;
    }

    @Override
    public boolean useDynamicSliceSummary() {
        return true;
    }

    @Override
    public void copy() {
        final ClipboardManager clipboard = (ClipboardManager) mContext.getSystemService(
                CLIPBOARD_SERVICE);
        final ClipData clip = ClipData.newPlainText("text", getSummary());
        clipboard.setPrimaryClip(clip);

        final String toast = mContext.getString(R.string.copyable_slice_toast,
                mContext.getText(R.string.build_number));
        Toast.makeText(mContext, toast, Toast.LENGTH_SHORT).show();
    }
}
+13 −0
Original line number Diff line number Diff line
@@ -16,6 +16,8 @@

package com.android.settings.deviceinfo;

import static android.content.Context.CLIPBOARD_SERVICE;

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

import static org.mockito.ArgumentMatchers.any;
@@ -24,6 +26,7 @@ import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;

import android.app.Activity;
import android.content.ClipboardManager;
import android.content.Context;
import android.os.Process;
import android.os.UserManager;
@@ -190,4 +193,14 @@ public class BuildNumberPreferenceControllerTest {
        assertThat(activityResultHandled).isTrue();
        assertThat(DevelopmentSettingsEnabler.isDevelopmentSettingsEnabled(mContext)).isTrue();
    }

    @Test
    public void copy_shouldCopyBuildNumberToClipboard() {
        mController.copy();

        final ClipboardManager clipboard = (ClipboardManager) mContext.getSystemService(
                CLIPBOARD_SERVICE);
        final CharSequence data = clipboard.getPrimaryClip().getItemAt(0).getText();
        assertThat(data.toString()).isEqualTo(mController.getSummary());
    }
}
+3 −9
Original line number Diff line number Diff line
@@ -16,11 +16,10 @@

package com.android.settings.deviceinfo.firmwareversion;

import static android.content.Context.CLIPBOARD_SERVICE;
import static com.android.settings.core.BasePreferenceController.AVAILABLE_UNSEARCHABLE;

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

import android.content.ClipboardManager;
import android.content.Context;

import org.junit.Before;
@@ -45,12 +44,7 @@ public class SimpleBuildNumberPreferenceControllerTest {
    }

    @Test
    public void copy_shouldCopyBuildNumberToClipboard() {
        mController.copy();

        final ClipboardManager clipboard = (ClipboardManager) mContext.getSystemService(
                CLIPBOARD_SERVICE);
        final CharSequence data = clipboard.getPrimaryClip().getItemAt(0).getText();
        assertThat(data.toString()).isEqualTo(mController.getSummary());
    public void getAvailabilityStatus_unsearchable() {
        assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE_UNSEARCHABLE);
    }
}