summaryrefslogtreecommitdiff
path: root/src/com/android/settings/development/graphicsdriver/GraphicsDriverContentObserver.java
diff options
context:
space:
mode:
authorPeiyong Lin <lpy@google.com>2020-02-11 11:03:13 -0800
committerPeiyong Lin <lpy@google.com>2020-02-11 16:50:26 -0800
commit4e89f929d76adfaa5f0e4b5dc868fe6bbabeb97c (patch)
tree69dc792823dbd2ba02722ae7d9e5825c3a900f3e /src/com/android/settings/development/graphicsdriver/GraphicsDriverContentObserver.java
parent9368270fe24e8fd2a59d7bce3993a288c819d185 (diff)
Rename GameDriver* to GraphicsDriver*.
To make graphics driver selection more generic, rename GameDriver specific classes to GraphicsDriver. Bug: b/148626177 Test: make RunSettingsRoboTests ROBOTEST_FILTER=GraphicsDriver Change-Id: If2780b32e2826bda56de11734736260f916182d0
Diffstat (limited to 'src/com/android/settings/development/graphicsdriver/GraphicsDriverContentObserver.java')
-rw-r--r--src/com/android/settings/development/graphicsdriver/GraphicsDriverContentObserver.java64
1 files changed, 64 insertions, 0 deletions
diff --git a/src/com/android/settings/development/graphicsdriver/GraphicsDriverContentObserver.java b/src/com/android/settings/development/graphicsdriver/GraphicsDriverContentObserver.java
new file mode 100644
index 0000000000..8317800934
--- /dev/null
+++ b/src/com/android/settings/development/graphicsdriver/GraphicsDriverContentObserver.java
@@ -0,0 +1,64 @@
+/*
+ * Copyright 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.settings.development.graphicsdriver;
+
+import android.content.ContentResolver;
+import android.database.ContentObserver;
+import android.os.Handler;
+import android.provider.Settings;
+
+import androidx.annotation.VisibleForTesting;
+
+/**
+ * Helper class to observe Graphics Driver settings global change.
+ */
+public class GraphicsDriverContentObserver extends ContentObserver {
+
+ interface OnGraphicsDriverContentChangedListener {
+ void onGraphicsDriverContentChanged();
+ }
+
+ @VisibleForTesting
+ OnGraphicsDriverContentChangedListener mListener;
+
+ public GraphicsDriverContentObserver(Handler handler,
+ OnGraphicsDriverContentChangedListener listener) {
+ super(handler);
+ mListener = listener;
+ }
+
+ @Override
+ public void onChange(boolean selfChange) {
+ super.onChange(selfChange);
+ mListener.onGraphicsDriverContentChanged();
+ }
+
+ /**
+ * Register GraphicsDriverContentObserver to ContentResolver.
+ */
+ public void register(ContentResolver contentResolver) {
+ contentResolver.registerContentObserver(
+ Settings.Global.getUriFor(Settings.Global.GAME_DRIVER_ALL_APPS), false, this);
+ }
+
+ /**
+ * Unregister GraphicsDriverContentObserver.
+ */
+ public void unregister(ContentResolver contentResolver) {
+ contentResolver.unregisterContentObserver(this);
+ }
+}