summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDiogo Ferreira <defer@cyngn.com>2016-03-03 15:39:51 +0000
committerDiogo Ferreira <defer@cyngn.com>2016-03-03 15:39:51 +0000
commit7aff8c29f1f954e4a4b794cbc0e81b2b8b4afe1c (patch)
tree38d6912fde9bcdca6044fef8f52566fb16d62d89
parent2fc265b534f7cd83c5c7b7e8e33c8262f45d8476 (diff)
downloadandroid_packages_apps_Screencast-7aff8c29f1f954e4a4b794cbc0e81b2b8b4afe1c.tar.gz
android_packages_apps_Screencast-7aff8c29f1f954e4a4b794cbc0e81b2b8b4afe1c.tar.bz2
android_packages_apps_Screencast-7aff8c29f1f954e4a4b794cbc0e81b2b8b4afe1c.zip
Screencast: Don't show touches for non-owners
Non-owner users can't toggle the show touches settings and attempting to do so would trigger permission checks and crash the application. Fix that by removing the show touch functionality for non-owners. Change-Id: Id2c55f866766cd0870154b17bdaeaa39877fc144 Ticket: CYNGNOS-2170
-rw-r--r--src/org/cyanogenmod/screencast/ScreencastService.java12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/org/cyanogenmod/screencast/ScreencastService.java b/src/org/cyanogenmod/screencast/ScreencastService.java
index 2e26005..2fc8d7b 100644
--- a/src/org/cyanogenmod/screencast/ScreencastService.java
+++ b/src/org/cyanogenmod/screencast/ScreencastService.java
@@ -29,6 +29,7 @@ import android.hardware.display.VirtualDisplay;
import android.net.Uri;
import android.os.Environment;
import android.os.IBinder;
+import android.os.Process;
import android.os.RemoteException;
import android.os.StatFs;
import android.os.SystemClock;
@@ -164,7 +165,9 @@ public class ScreencastService extends Service {
getSharedPreferences(ScreencastService.PREFS, 0)
.edit().putBoolean(ScreencastService.KEY_RECORDING, false).apply();
// clean show_touches settings if user enable show_touches in this activity
- Settings.System.putInt(getContentResolver(), SHOW_TOUCHES, 0);
+ if (Process.myUserHandle().isOwner()) {
+ Settings.System.putInt(getContentResolver(), SHOW_TOUCHES, 0);
+ }
cleanup();
if (!hasAvailableSpace()) {
@@ -192,8 +195,11 @@ public class ScreencastService extends Service {
startTime = SystemClock.elapsedRealtime();
registerScreencaster();
mBuilder = createNotificationBuilder();
- Settings.System.putInt(getContentResolver(), SHOW_TOUCHES, 1);
- addNotificationTouchButton(true);
+
+ if (Process.myUserHandle().isOwner()) {
+ Settings.System.putInt(getContentResolver(), SHOW_TOUCHES, 1);
+ addNotificationTouchButton(true);
+ }
timer = new Timer();
timer.scheduleAtFixedRate(new TimerTask() {