summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorTreeHugger Robot <treehugger-gerrit@google.com>2019-05-21 23:00:41 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2019-05-21 23:00:41 +0000
commitc506eaaaec152bdb8f1f0dc33965a4bbd9dd8b62 (patch)
tree698f0caaebe7be5de9a701756557f60ac4d1c09b /src
parentd4178f821fce33b9ef8b561b57e9d1fdc75079a1 (diff)
parent5ce9fcba6c266b5b8401fedae52a9fc3a7a25726 (diff)
downloadandroid_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')
-rw-r--r--src/com/android/packageinstaller/permission/ui/ReviewOngoingUsageActivity.java10
-rw-r--r--src/com/android/packageinstaller/permission/ui/auto/ReviewOngoingUsageAutoFragment.java45
-rw-r--r--src/com/android/packageinstaller/permission/ui/handheld/ReviewOngoingUsageFragment.java25
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();