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

Commit cf33b4bc authored by Yanting Yang's avatar Yanting Yang Committed by Android (Google) Code Review
Browse files

Merge "Hide the app details preference for mainline module apps" into rvc-dev

parents cae9a9c2 172f4064
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -42,6 +42,11 @@ public class AppInstallerInfoPreferenceController extends AppInfoPreferenceContr
        if (UserManager.get(mContext).isManagedProfile()) {
            return DISABLED_FOR_USER;
        }

        if (AppUtils.isMainlineModule(mContext, mPackageName)) {
            return DISABLED_FOR_USER;
        }

        return mInstallerLabel != null ? AVAILABLE : DISABLED_FOR_USER;
    }

+13 −0
Original line number Diff line number Diff line
@@ -32,6 +32,7 @@ import android.content.Context;
import android.content.Intent;
import android.content.pm.ActivityInfo;
import android.content.pm.ApplicationInfo;
import android.content.pm.ModuleInfo;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
@@ -148,4 +149,16 @@ public class AppInstallerInfoPreferenceControllerTest {
        verify(mPreference, never()).setEnabled(false);
        verify(mPreference).setIntent(any(Intent.class));
    }

    @Test
    public void getAvailabilityStatus_isMainlineModule_shouldReturnDisabled()
            throws PackageManager.NameNotFoundException {
        when(mUserManager.isManagedProfile()).thenReturn(false);
        when(mAppInfo.loadLabel(mPackageManager)).thenReturn("Label");
        mController.setPackageName("Package");
        when(mPackageManager.getModuleInfo("Package", 0 /* flags */)).thenReturn(new ModuleInfo());

        assertThat(mController.getAvailabilityStatus()).isEqualTo(
                BasePreferenceController.DISABLED_FOR_USER);
    }
}