diff options
author | TreeHugger Robot <treehugger-gerrit@google.com> | 2019-05-21 23:00:41 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2019-05-21 23:00:41 +0000 |
commit | c506eaaaec152bdb8f1f0dc33965a4bbd9dd8b62 (patch) | |
tree | 698f0caaebe7be5de9a701756557f60ac4d1c09b /src | |
parent | d4178f821fce33b9ef8b561b57e9d1fdc75079a1 (diff) | |
parent | 5ce9fcba6c266b5b8401fedae52a9fc3a7a25726 (diff) | |
download | android_packages_apps_PackageInstaller-c506eaaaec152bdb8f1f0dc33965a4bbd9dd8b62.tar.gz android_packages_apps_PackageInstaller-c506eaaaec152bdb8f1f0dc33965a4bbd9dd8b62.tar.bz2 android_packages_apps_PackageInstaller-c506eaaaec152bdb8f1f0dc33965a4bbd9dd8b62.zip |
Merge "Adding a fragment to launch the OngoingPrivacy dialog." into qt-dev
Diffstat (limited to 'src')
3 files changed, 68 insertions, 12 deletions
diff --git a/src/com/android/packageinstaller/permission/ui/ReviewOngoingUsageActivity.java b/src/com/android/packageinstaller/permission/ui/ReviewOngoingUsageActivity.java index cba0a24b..5568216e 100644 --- a/src/com/android/packageinstaller/permission/ui/ReviewOngoingUsageActivity.java +++ b/src/com/android/packageinstaller/permission/ui/ReviewOngoingUsageActivity.java @@ -26,6 +26,7 @@ import androidx.annotation.NonNull; import androidx.fragment.app.FragmentActivity; import com.android.packageinstaller.DeviceUtils; +import com.android.packageinstaller.permission.ui.auto.ReviewOngoingUsageAutoFragment; import com.android.packageinstaller.permission.ui.handheld.ReviewOngoingUsageFragment; /** @@ -43,8 +44,13 @@ public final class ReviewOngoingUsageActivity extends FragmentActivity { getWindow().addSystemFlags(SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS); long numMillis = getIntent().getLongExtra(Intent.EXTRA_DURATION_MILLIS, DEFAULT_MILLIS); - getSupportFragmentManager().beginTransaction().replace(android.R.id.content, - ReviewOngoingUsageFragment.newInstance(numMillis)).commit(); + if (DeviceUtils.isAuto(this)) { + getSupportFragmentManager().beginTransaction().replace(android.R.id.content, + ReviewOngoingUsageAutoFragment.newInstance(numMillis)).commit(); + } else { + getSupportFragmentManager().beginTransaction().replace(android.R.id.content, + ReviewOngoingUsageFragment.newInstance(numMillis)).commit(); + } } diff --git a/src/com/android/packageinstaller/permission/ui/auto/ReviewOngoingUsageAutoFragment.java b/src/com/android/packageinstaller/permission/ui/auto/ReviewOngoingUsageAutoFragment.java new file mode 100644 index 00000000..beeed38b --- /dev/null +++ b/src/com/android/packageinstaller/permission/ui/auto/ReviewOngoingUsageAutoFragment.java @@ -0,0 +1,45 @@ +/* + * Copyright (C) 2019 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.packageinstaller.permission.ui.auto; + +import android.app.AlertDialog; +import android.content.Intent; +import android.os.Bundle; + +import com.android.packageinstaller.permission.ui.handheld.ReviewOngoingUsageFragment; + +/** + * A dialog listing the currently uses of camera, microphone, and location. + */ +public class ReviewOngoingUsageAutoFragment extends ReviewOngoingUsageFragment { + + /** + * @return A new {@link ReviewOngoingUsageAutoFragment} + */ + public static ReviewOngoingUsageAutoFragment newInstance(long numMillis) { + ReviewOngoingUsageAutoFragment fragment = new ReviewOngoingUsageAutoFragment(); + Bundle arguments = new Bundle(); + arguments.putLong(Intent.EXTRA_DURATION_MILLIS, numMillis); + fragment.setArguments(arguments); + return fragment; + } + + @Override + protected void setNeutralButton(AlertDialog.Builder builder) { + // do nothing + } +} diff --git a/src/com/android/packageinstaller/permission/ui/handheld/ReviewOngoingUsageFragment.java b/src/com/android/packageinstaller/permission/ui/handheld/ReviewOngoingUsageFragment.java index b17b87f9..623d20f2 100644 --- a/src/com/android/packageinstaller/permission/ui/handheld/ReviewOngoingUsageFragment.java +++ b/src/com/android/packageinstaller/permission/ui/handheld/ReviewOngoingUsageFragment.java @@ -61,7 +61,7 @@ import java.util.concurrent.TimeUnit; /** * A dialog listing the currently uses of camera, microphone, and location. */ -public final class ReviewOngoingUsageFragment extends PreferenceFragmentCompat { +public class ReviewOngoingUsageFragment extends PreferenceFragmentCompat { private @NonNull PermissionUsages mPermissionUsages; private @Nullable AlertDialog mDialog; @@ -91,7 +91,7 @@ public final class ReviewOngoingUsageFragment extends PreferenceFragmentCompat { mPermissionUsages = new PermissionUsages(getActivity()); mStartTime = Math.max(System.currentTimeMillis() - numMillis, Instant.EPOCH.toEpochMilli()); - mPermissionUsages.load(null, new String[] { CAMERA, LOCATION, MICROPHONE }, mStartTime, + mPermissionUsages.load(null, new String[]{CAMERA, LOCATION, MICROPHONE}, mStartTime, Long.MAX_VALUE, PermissionUsages.USAGE_FLAG_LAST, getActivity().getLoaderManager(), false, false, this::onPermissionUsagesLoaded, false); } @@ -142,21 +142,26 @@ public final class ReviewOngoingUsageFragment extends PreferenceFragmentCompat { } private void showDialog(@NonNull List<Pair<AppPermissionUsage, List<GroupUsage>>> usages) { - mDialog = new AlertDialog.Builder(getActivity()) + AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()) .setView(createDialogView(usages)) .setPositiveButton(R.string.ongoing_usage_dialog_ok, (dialog, which) -> PermissionControllerStatsLog.write(PRIVACY_INDICATORS_INTERACTED, PRIVACY_INDICATORS_INTERACTED__TYPE__DIALOG_DISMISS, null)) - .setNeutralButton(R.string.ongoing_usage_dialog_open_settings, (dialog, which) -> { - PermissionControllerStatsLog.write(PRIVACY_INDICATORS_INTERACTED, - PRIVACY_INDICATORS_INTERACTED__TYPE__DIALOG_PRIVACY_SETTINGS, null); - startActivity(new Intent(Settings.ACTION_PRIVACY_SETTINGS).putExtra( - Intent.EXTRA_DURATION_MILLIS, TimeUnit.MINUTES.toMillis(1))); }) - .setOnDismissListener((dialog) -> getActivity().finish()) - .create(); + .setOnDismissListener((dialog) -> getActivity().finish()); + setNeutralButton(builder); + mDialog = builder.create(); mDialog.show(); } + protected void setNeutralButton(AlertDialog.Builder builder) { + builder.setNeutralButton(R.string.ongoing_usage_dialog_open_settings, (dialog, which) -> { + PermissionControllerStatsLog.write(PRIVACY_INDICATORS_INTERACTED, + PRIVACY_INDICATORS_INTERACTED__TYPE__DIALOG_PRIVACY_SETTINGS, null); + startActivity(new Intent(Settings.ACTION_PRIVACY_SETTINGS).putExtra( + Intent.EXTRA_DURATION_MILLIS, TimeUnit.MINUTES.toMillis(1))); + }); + } + private @NonNull View createDialogView( @NonNull List<Pair<AppPermissionUsage, List<GroupUsage>>> usages) { Context context = getActivity(); |