summaryrefslogtreecommitdiffstats
path: root/src/com/android/settings/applications/AppOpsDetails.java
diff options
context:
space:
mode:
authorShashank Mittal <mittals@codeaurora.org>2014-03-06 17:16:49 -0800
committerGerrit Code Review <gerrit@cyanogenmod.org>2016-01-03 14:43:32 -0800
commit090a9c69d8d1ccdc15bc78826a2ce443fc1f0d10 (patch)
tree7b373218e3d7cea9f337241354c9a9f83490ea3a /src/com/android/settings/applications/AppOpsDetails.java
parentb6b6082f7a260cf7442ee4291e7e9d73428bb2e1 (diff)
downloadpackages_apps_Settings-090a9c69d8d1ccdc15bc78826a2ce443fc1f0d10.zip
packages_apps_Settings-090a9c69d8d1ccdc15bc78826a2ce443fc1f0d10.tar.gz
packages_apps_Settings-090a9c69d8d1ccdc15bc78826a2ce443fc1f0d10.tar.bz2
AppOps: Add 'Always ask' option under appOps setting.
Add always ask option for each operation. Change-Id: Ia4f331a5b7d0b1c8ae6946c55a4f78818fe0454f
Diffstat (limited to 'src/com/android/settings/applications/AppOpsDetails.java')
-rw-r--r--src/com/android/settings/applications/AppOpsDetails.java29
1 files changed, 21 insertions, 8 deletions
diff --git a/src/com/android/settings/applications/AppOpsDetails.java b/src/com/android/settings/applications/AppOpsDetails.java
index d48af27..1078eff 100644
--- a/src/com/android/settings/applications/AppOpsDetails.java
+++ b/src/com/android/settings/applications/AppOpsDetails.java
@@ -33,10 +33,11 @@ import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
+import android.widget.AdapterView;
import android.widget.CompoundButton;
import android.widget.ImageView;
import android.widget.LinearLayout;
-import android.widget.Switch;
+import android.widget.Spinner;
import android.widget.TextView;
import com.android.internal.logging.MetricsLogger;
@@ -172,16 +173,28 @@ public class AppOpsDetails extends InstrumentedFragment {
entry.getSwitchText(mState));
((TextView)view.findViewById(R.id.op_time)).setText(
entry.getTimeText(res, true));
- Switch sw = (Switch)view.findViewById(R.id.switchWidget);
+ Spinner sw = (Spinner)view.findViewById(R.id.spinnerWidget);
final int switchOp = AppOpsManager.opToSwitch(firstOp.getOp());
- sw.setChecked(mAppOps.checkOp(switchOp, entry.getPackageOps().getUid(),
- entry.getPackageOps().getPackageName()) == AppOpsManager.MODE_ALLOWED);
- sw.setOnCheckedChangeListener(new Switch.OnCheckedChangeListener() {
+ int mode = mAppOps.checkOp(switchOp, entry.getPackageOps().getUid(),
+ entry.getPackageOps().getPackageName());
+ sw.setSelection(modeToPosition(mode));
+ sw.setOnItemSelectedListener(new Spinner.OnItemSelectedListener() {
+ boolean firstMode = true;
+
@Override
- public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
+ public void onItemSelected(AdapterView<?> parentView, View selectedItemView,
+ int position, long id) {
+ if (firstMode) {
+ firstMode = false;
+ return;
+ }
mAppOps.setMode(switchOp, entry.getPackageOps().getUid(),
- entry.getPackageOps().getPackageName(), isChecked
- ? AppOpsManager.MODE_ALLOWED : AppOpsManager.MODE_IGNORED);
+ entry.getPackageOps().getPackageName(), positionToMode(position));
+ }
+
+ @Override
+ public void onNothingSelected(AdapterView<?> parentView) {
+ // Do nothing
}
});
}