OSDN Git Service

Add test API for if the device supports QS
authorJason Monk <jmonk@google.com>
Fri, 31 Mar 2017 13:26:27 +0000 (09:26 -0400)
committerJason Monk <jmonk@google.com>
Fri, 31 Mar 2017 13:26:27 +0000 (09:26 -0400)
Test: cts-tradefed run cts-dev -m CtsSystemUiHostTestCases
Change-Id: Ib2dbbab8c4d0b7bae912f29f417e7e245bfd5b71
Fixes: 36363728

api/test-current.txt
core/java/android/service/quicksettings/TileService.java
core/res/res/values/config.xml
core/res/res/values/symbols.xml
services/core/java/com/android/server/statusbar/StatusBarShellCommand.java

index 7d96895..a39e159 100644 (file)
@@ -37527,6 +37527,7 @@ package android.service.quicksettings {
     ctor public TileService();
     method public final android.service.quicksettings.Tile getQsTile();
     method public final boolean isLocked();
+    method public static boolean isQuickSettingsSupported();
     method public final boolean isSecure();
     method public android.os.IBinder onBind(android.content.Intent);
     method public void onClick();
index 8e01030..56b267f 100644 (file)
@@ -19,11 +19,13 @@ import android.Manifest;
 import android.annotation.SdkConstant;
 import android.annotation.SdkConstant.SdkConstantType;
 import android.annotation.SystemApi;
+import android.annotation.TestApi;
 import android.app.Dialog;
 import android.app.Service;
 import android.content.ComponentName;
 import android.content.Context;
 import android.content.Intent;
+import android.content.res.Resources;
 import android.graphics.drawable.Icon;
 import android.os.Handler;
 import android.os.IBinder;
@@ -34,6 +36,8 @@ import android.view.View;
 import android.view.View.OnAttachStateChangeListener;
 import android.view.WindowManager;
 
+import com.android.internal.R;
+
 /**
  * A TileService provides the user a tile that can be added to Quick Settings.
  * Quick Settings is a space provided that allows the user to change settings and
@@ -425,6 +429,15 @@ public class TileService extends Service {
     }
 
     /**
+     * @return True if the device supports quick settings and its assocated APIs.
+     * @hide
+     */
+    @TestApi
+    public static boolean isQuickSettingsSupported() {
+        return Resources.getSystem().getBoolean(R.bool.config_quickSettingsSupported);
+    }
+
+    /**
      * Requests that a tile be put in the listening state so it can send an update.
      *
      * This method is only applicable to tiles that have {@link #META_DATA_ACTIVE_TILE} defined
index db234e7..97fdba0 100644 (file)
          density will be scaled accordingly to maintain aspect ratio. A value of 0 indicates no
          constraint will be enforced. -->
     <integer name="config_maxUiWidth">0</integer>
+
+    <!-- Whether the device supports quick settings and its associated APIs -->
+    <bool name="config_quickSettingsSupported">true</bool>
 </resources>
index 92436f4..fc4b4fe 100644 (file)
   <java-symbol type="string" name="etws_primary_default_message_test" />
 
   <java-symbol type="string" name="etws_primary_default_message_others" />
+  <java-symbol type="bool" name="config_quickSettingsSupported" />
 </resources>
index 963a572..40bb496 100644 (file)
@@ -17,6 +17,8 @@ package com.android.server.statusbar;
 import android.content.ComponentName;
 import android.os.RemoteException;
 import android.os.ShellCommand;
+import android.service.quicksettings.TileService;
+
 import com.android.internal.statusbar.IStatusBarService;
 
 import java.io.PrintWriter;
@@ -48,6 +50,10 @@ public class StatusBarShellCommand extends ShellCommand {
                     return runRemoveTile();
                 case "click-tile":
                     return runClickTile();
+                case "check-support":
+                    final PrintWriter pw = getOutPrintWriter();
+                    pw.println(String.valueOf(TileService.isQuickSettingsSupported()));
+                    return 0;
                 default:
                     return handleDefaultCommands(cmd);
             }
@@ -113,5 +119,8 @@ public class StatusBarShellCommand extends ShellCommand {
         pw.println("  click-tile COMPONENT");
         pw.println("    Click on a TileService of the specified component");
         pw.println("");
+        pw.println("  check-support");
+        pw.println("    Check if this device supports QS + APIs");
+        pw.println("");
     }
 }