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

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

Merge "Remove deep link to app store from app header." into oc-dev

parents b8d6222e dcc0af50
Loading
Loading
Loading
Loading
+2 −27
Original line number Diff line number Diff line
@@ -52,15 +52,13 @@ public class AppHeaderController {
    @IntDef({ActionType.ACTION_NONE,
            ActionType.ACTION_APP_INFO,
            ActionType.ACTION_APP_PREFERENCE,
            ActionType.ACTION_STORE_DEEP_LINK,
            ActionType.ACTION_NOTIF_PREFERENCE})
    @Retention(RetentionPolicy.SOURCE)
    public @interface ActionType {
        int ACTION_NONE = 0;
        int ACTION_APP_INFO = 1;
        int ACTION_STORE_DEEP_LINK = 2;
        int ACTION_APP_PREFERENCE = 3;
        int ACTION_NOTIF_PREFERENCE = 4;
        int ACTION_APP_PREFERENCE = 2;
        int ACTION_NOTIF_PREFERENCE = 3;
    }

    public static final String PREF_KEY_APP_HEADER = "pref_app_header";
@@ -254,20 +252,6 @@ public class AppHeaderController {
                }
                return;
            }
            case ActionType.ACTION_STORE_DEEP_LINK: {
                final Intent intent = new Intent(Intent.ACTION_SHOW_APP_INFO)
                        .setPackage(getInstallerPackageName(mContext, mPackageName));
                final Intent result = resolveIntent(intent);
                if (result == null) {
                    button.setVisibility(View.GONE);
                } else {
                    result.putExtra(Intent.EXTRA_PACKAGE_NAME, mPackageName);
                    button.setImageResource(R.drawable.ic_sim_sd);
                    button.setOnClickListener(v -> mFragment.startActivity(intent));
                    button.setVisibility(View.VISIBLE);
                }
                return;
            }
            case ActionType.ACTION_NOTIF_PREFERENCE: {
                if (mAppNotifPrefIntent == null) {
                    button.setVisibility(View.GONE);
@@ -295,15 +279,6 @@ public class AppHeaderController {
        }
    }

    private String getInstallerPackageName(Context context, String packageName) {
        try {
            return context.getPackageManager().getInstallerPackageName(packageName);
        } catch (IllegalArgumentException e) {
            Log.e(TAG, "Exception while retrieving the package installer of " + packageName, e);
            return null;
        }
    }

    private Intent resolveIntent(Intent i) {
        ResolveInfo result = mContext.getPackageManager().resolveActivity(i, 0);
        if (result != null) {
+2 −2
Original line number Diff line number Diff line
@@ -415,8 +415,8 @@ public class InstalledAppDetails extends AppInfoBase
                .getApplicationFeatureProvider(activity)
                .newAppHeaderController(this, mHeader.findViewById(R.id.app_snippet))
                .setPackageName(mPackageName)
                .setButtonActions(AppHeaderController.ActionType.ACTION_STORE_DEEP_LINK,
                        AppHeaderController.ActionType.ACTION_APP_PREFERENCE)
                .setButtonActions(AppHeaderController.ActionType.ACTION_APP_PREFERENCE,
                        AppHeaderController.ActionType.ACTION_NONE)
                .styleActionBar(activity)
                .bindAppHeaderButtons();
        prepareUninstallAndStop();
+0 −20
Original line number Diff line number Diff line
@@ -18,7 +18,6 @@ package com.android.settings.applications;


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

import static org.mockito.Matchers.any;
import static org.mockito.Matchers.anyInt;
import static org.mockito.Matchers.eq;
@@ -171,25 +170,6 @@ public class AppHeaderControllerTest {
                .isEqualTo(View.GONE);
    }

    @Test
    public void bindButton_noStoreLink_shouldNotShowButton() {
        final View appLinks = mLayoutInflater
                .inflate(R.layout.app_details, null /* root */);
        when(mContext.getPackageManager().resolveActivity(any(Intent.class), anyInt()))
                .thenReturn(null);

        mController = new AppHeaderController(mContext, mFragment, appLinks);
        mController.setButtonActions(
                AppHeaderController.ActionType.ACTION_STORE_DEEP_LINK,
                AppHeaderController.ActionType.ACTION_NONE);
        mController.done(mActivity);

        assertThat(appLinks.findViewById(R.id.left_button).getVisibility())
                .isEqualTo(View.GONE);
        assertThat(appLinks.findViewById(R.id.right_button).getVisibility())
                .isEqualTo(View.GONE);
    }

    @Test
    public void bindButton_noAppInfo_shouldNotShowButton() {
        final View appLinks = mLayoutInflater