From 9da081228438a35c181c0f3d138698b007532c69 Mon Sep 17 00:00:00 2001 From: Dianne Hackborn Date: Wed, 10 Oct 2012 19:01:09 -0700 Subject: [PATCH] More on issue #7318666: hide developer options from user build The Dev Tools app now tries to add a link to Development Settings at the top of its list. Also add a new "Development Settings" app that directly takes you to the development settings activity, as a stand-alone app that could be distributed as a regular third party app. Change-Id: I8fe2b6a32cf4e37d69f4ce7b8d646a147b492d99 --- .../com/android/development/Development.java | 17 +- apps/DevelopmentSettings/Android.mk | 6 + apps/DevelopmentSettings/AndroidManifest.xml | 33 +++ apps/DevelopmentSettings/NOTICE | 190 ++++++++++++++++++ .../mipmap-hdpi/ic_launcher_devsettings.png | Bin 0 -> 7505 bytes .../mipmap-mdpi/ic_launcher_devsettings.png | Bin 0 -> 4052 bytes .../mipmap-xhdpi/ic_launcher_devsettings.png | Bin 0 -> 11748 bytes .../res/values/strings.xml | 20 ++ apps/DevelopmentSettings/res/xml/alias.xml | 20 ++ 9 files changed, 285 insertions(+), 1 deletion(-) create mode 100644 apps/DevelopmentSettings/Android.mk create mode 100644 apps/DevelopmentSettings/AndroidManifest.xml create mode 100644 apps/DevelopmentSettings/NOTICE create mode 100644 apps/DevelopmentSettings/res/mipmap-hdpi/ic_launcher_devsettings.png create mode 100644 apps/DevelopmentSettings/res/mipmap-mdpi/ic_launcher_devsettings.png create mode 100644 apps/DevelopmentSettings/res/mipmap-xhdpi/ic_launcher_devsettings.png create mode 100644 apps/DevelopmentSettings/res/values/strings.xml create mode 100644 apps/DevelopmentSettings/res/xml/alias.xml diff --git a/apps/Development/src/com/android/development/Development.java b/apps/Development/src/com/android/development/Development.java index a3979f219..8a317cd27 100644 --- a/apps/Development/src/com/android/development/Development.java +++ b/apps/Development/src/com/android/development/Development.java @@ -16,8 +16,13 @@ package com.android.development; +import java.util.List; + import android.app.LauncherActivity; import android.content.Intent; +import android.content.pm.PackageManager; +import android.content.pm.ResolveInfo; +import android.provider.Settings; public class Development extends LauncherActivity { @@ -25,7 +30,17 @@ public class Development extends LauncherActivity protected Intent getTargetIntent() { Intent targetIntent = new Intent(Intent.ACTION_MAIN, null); targetIntent.addCategory(Intent.CATEGORY_TEST); - targetIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); return targetIntent; } + + protected void onSortResultList(List results) { + super.onSortResultList(results); + Intent settingsIntent = new Intent(Settings.ACTION_APPLICATION_DEVELOPMENT_SETTINGS); + List topItems = getPackageManager().queryIntentActivities( + settingsIntent, PackageManager.MATCH_DEFAULT_ONLY); + if (topItems != null) { + super.onSortResultList(topItems); + results.addAll(0, topItems); + } + } } diff --git a/apps/DevelopmentSettings/Android.mk b/apps/DevelopmentSettings/Android.mk new file mode 100644 index 000000000..ae39e2599 --- /dev/null +++ b/apps/DevelopmentSettings/Android.mk @@ -0,0 +1,6 @@ +LOCAL_PATH:= $(call my-dir) +include $(CLEAR_VARS) + +LOCAL_PACKAGE_NAME := DevelopmentSettings + +include $(BUILD_PACKAGE) diff --git a/apps/DevelopmentSettings/AndroidManifest.xml b/apps/DevelopmentSettings/AndroidManifest.xml new file mode 100644 index 000000000..c7b7e02db --- /dev/null +++ b/apps/DevelopmentSettings/AndroidManifest.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + diff --git a/apps/DevelopmentSettings/NOTICE b/apps/DevelopmentSettings/NOTICE new file mode 100644 index 000000000..c77f135e7 --- /dev/null +++ b/apps/DevelopmentSettings/NOTICE @@ -0,0 +1,190 @@ + + Copyright (c) 2012, 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. + + 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. + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + diff --git a/apps/DevelopmentSettings/res/mipmap-hdpi/ic_launcher_devsettings.png b/apps/DevelopmentSettings/res/mipmap-hdpi/ic_launcher_devsettings.png new file mode 100644 index 0000000000000000000000000000000000000000..32da776f3ec5a2b79acb3f13b55bf914c22906ef GIT binary patch literal 7505 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 literal 0 HcmV?d00001 diff --git a/apps/DevelopmentSettings/res/mipmap-mdpi/ic_launcher_devsettings.png b/apps/DevelopmentSettings/res/mipmap-mdpi/ic_launcher_devsettings.png new file mode 100644 index 0000000000000000000000000000000000000000..32a22ac93bf4211a2ecd18dc47ee933d405c6016 GIT binary patch literal 4052 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 ZNvKl}tay3ZOqa?4CI)x)D|KC?{twDPiQNDI literal 0 HcmV?d00001 diff --git a/apps/DevelopmentSettings/res/mipmap-xhdpi/ic_launcher_devsettings.png b/apps/DevelopmentSettings/res/mipmap-xhdpi/ic_launcher_devsettings.png new file mode 100644 index 0000000000000000000000000000000000000000..9bfdd7849319aa4d9d13a2e3d997cc967cdb8144 GIT binary patch literal 11748 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 Yzs|_ahPx*x@{a?P7FQ6f6EO<;Kl{+zJ^%m! literal 0 HcmV?d00001 diff --git a/apps/DevelopmentSettings/res/values/strings.xml b/apps/DevelopmentSettings/res/values/strings.xml new file mode 100644 index 000000000..4803840de --- /dev/null +++ b/apps/DevelopmentSettings/res/values/strings.xml @@ -0,0 +1,20 @@ + + + + + Development Settings + Dev Settings + diff --git a/apps/DevelopmentSettings/res/xml/alias.xml b/apps/DevelopmentSettings/res/xml/alias.xml new file mode 100644 index 000000000..0786674d8 --- /dev/null +++ b/apps/DevelopmentSettings/res/xml/alias.xml @@ -0,0 +1,20 @@ + + + + + + +