Add Open button to launch instant app.

- move logic from InstantAppButtonsController into
InstantAppButtonsPreferenceController, as it is not really necessary to
have separate control to be in different class.
- add logic to check if the instant app provides a default launch uri.
If so, show a Open button to launch the uri, and move the Install
button into option menu. If not, Install button remains as is.
- also update the instant app button layout to match the regular 2
buttons layout.

Change-Id: Ibcae780ad697ca93a48604b03c8f4600dd3c0472
Fixes: 69562807
Test: make RunSettingsRoboTests
This commit is contained in:
Doris Ling
2018-02-20 13:36:40 -08:00
parent c85e701b3d
commit f9ab8ea7bd
8 changed files with 350 additions and 381 deletions

View File

@@ -16,7 +16,6 @@
package com.android.settings.applications;
import android.app.Fragment;
import android.content.Context;
import android.content.Intent;
import android.content.pm.ComponentInfo;
@@ -26,9 +25,7 @@ import android.content.pm.UserInfo;
import android.os.RemoteException;
import android.os.UserManager;
import android.util.ArraySet;
import android.view.View;
import com.android.settings.applications.instantapps.InstantAppButtonsController;
import com.android.settings.wrapper.DevicePolicyManagerWrapper;
import com.android.settings.wrapper.IPackageManagerWrapper;
import com.android.settingslib.wrapper.PackageManagerWrapper;
@@ -54,12 +51,6 @@ public class ApplicationFeatureProviderImpl implements ApplicationFeatureProvide
mUm = UserManager.get(mContext);
}
@Override
public InstantAppButtonsController newInstantAppButtonsController(Fragment fragment,
View view, InstantAppButtonsController.ShowDialogDelegate showDialogDelegate) {
return new InstantAppButtonsController(mContext, fragment, view, showDialogDelegate);
}
@Override
public void calculateNumberOfPolicyInstalledApps(boolean async, NumberOfAppsCallback callback) {
final CurrentUserAndManagedProfilePolicyInstalledAppCounter counter =