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

Commit 6c0a7015 authored by Trevor Black's avatar Trevor Black Committed by Android (Google) Code Review
Browse files

Merge "Remove extra app info setting under specific condition" into sc-dev

parents 70dfd533 c3fc64cb
Loading
Loading
Loading
Loading
+6 −1
Original line number Diff line number Diff line
@@ -36,7 +36,12 @@ public interface ExtraAppInfoFeatureProvider {
    void setPackageName(String packageName);

    /**
     * gets the summary name
     * Checks if enabled
     */
    boolean isEnabled(Context context);

    /**
     * Gets the summary name
     */
    String getSummary(Context context);
}
+5 −0
Original line number Diff line number Diff line
@@ -38,6 +38,11 @@ public class ExtraAppInfoFeatureProviderImpl implements
        return;
    }

    @Override
    public boolean isEnabled(Context context) {
        return false;
    }

    @Override
    public String getSummary(Context context) {
        return "";
+11 −0
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@ import android.content.Context;
import android.text.TextUtils;

import androidx.preference.Preference;
import androidx.preference.PreferenceScreen;

import com.android.settings.core.BasePreferenceController;
import com.android.settings.overlay.FeatureFactory;
@@ -55,6 +56,16 @@ public class ExtraAppInfoPreferenceController extends BasePreferenceController {
        return mExtraAppInfoFeatureProvider.getSummary(mContext);
    }

    @Override
    public void displayPreference(PreferenceScreen screen) {
        super.displayPreference(screen);

        if (mExtraAppInfoFeatureProvider != null) {
            final Preference preference = screen.findPreference(getPreferenceKey());
            preference.setEnabled(mExtraAppInfoFeatureProvider.isEnabled(preference.getContext()));
        }
    }

    /**
     * Set the local package name
     */
+54 −0
Original line number Diff line number Diff line
/*
 * Copyright (C) 2021 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package com.android.settings.applications.appinfo;

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

import android.content.Context;

import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.robolectric.RobolectricTestRunner;
import org.robolectric.RuntimeEnvironment;

@RunWith(RobolectricTestRunner.class)
public class ExtraAppInfoFeatureProviderImplTest {
    private Context mContext;
    private ExtraAppInfoFeatureProviderImpl mController;

    @Before
    public void setUp() {
        mContext = RuntimeEnvironment.application;
        mController = new ExtraAppInfoFeatureProviderImpl();
    }

    @Test
    public void isSupported_notSupportedByDefault() {
        assertThat(mController.isSupported(mContext)).isEqualTo(false);
    }

    @Test
    public void isEnabled_notEnabledByDefault() {
        assertThat(mController.isEnabled(mContext)).isEqualTo(false);
    }

    @Test
    public void getSummary_emptyByDefault() {
        assertThat(mController.getSummary(mContext)).isEqualTo("");
    }
}