Commit Graph

550 Commits

Author SHA1 Message Date
Alex Klyubin
1991f57230 Restrict access from apps to bluetooth_address setting
BluetoothManagerService for some reason leaks the Android's Bluetooth
MAC address via Settings.Secure which is normally readable by all
apps. This lets apps bypass the restriction on access to Bluetooth MAC
address from apps.

This commit fixes the issue by restricting access to bluetooth_address
secure setting (Settings.Secure). Only packages which hold the
android.permission.LOCAL_MAC_ADDRESS permission retain access.

This commit accordingly grants LOCAL_MAC_ADDRESS permission to the
system Shell app because a number of scripts (including Android CTS)
use "adb shell settings get secure bluetooth_address" as a convenient
way to query the device's Bluetooth MAC address over ADB. This is
acceptable because the user of the device can see the Bluetooth MAC
address and thus it's fine for shell to be able to see the address as
well.

Test: See CTS test added in the cts project in this topic.
Test: "adb shell settings get secure bluetooth_address" returns the
      Bluetooth MAC address of the Android.
Test: "adb shell settings list secure | grep bluetooth_address"
      returns the Bluetooth MAC address of the Android.
Test: Bluetooth works (toggling off/on, pairing, file transfer)
Bug: 33701414

Change-Id: I17b110b96eb3794b25c1661e93d29a7a003e3c9a
2017-03-03 14:25:14 -08:00
Jorim Jaggi
f631ef769a Fix sharing bugreports from lockscreen
When launching ChooserActivity from lockscreen, we will start it
in stopped state because lockscreen is still showing, meaning that
the activity goes through start -> resume -> pause -> stop
immediately after it was launched, and will be later resumed once
Keyguard actually goes away.

However, ResolverActivity finished itself in onStop. We add a
private extra to change this behavior for sharing bugreports.

Test: Take bugreport, double tap on it on lockscreen
Test: com.android.shell.BugreportReceiverTest$1
Bug: 33009364
Change-Id: I973b2c71587950499b7c88b16af9cf1387795e17
2017-02-24 17:37:08 +00:00
Mårten Kongstad
2e0d0f3111 OMS: integrate OverlayManagerService into framework
Hand over ownership of overlays to OverlayManagerService.

Changes to a package's overlays are propagated using the activity life
cycle. Affected activities will be recreated as needed. This provides a
well-defined point to modify an application's assets while the
application is paused.

Consolidate how overlays targeting the system and overlays targeting
regular applications are handled. Previously, system overlays were
handled as a special case. Now, everything is handled identically. As a
side effect, the call to idmap --scan during Zygote boot has become
obsolete and is removed.

Information on what overlays to use is recorded in
ApplicationInfo.resourceDirs. The PackageManagerService is responsible
for the creation of ApplicationInfo objects. The OverlayManagerService
is responsible for informing the PackageManagerService in advance about
what resourceDirs to use.

When launching an application, the ApplicationInfo is already populated
with up-to-date information about overlays.

When enabling or disabling an overlay for a running application, the
OverlayManagerService first notifies the PackageManagerService about the
updated resourceDirs. It then tells the ActivityManagerService to push
the new ApplicationInfo object to the application's ActivityThread.
Finally the application requests its ResourcesManager to create new
ResourcesImpl objects based on the updated paths.

Change-Id: Ib8afa05ccab4e2db558f89ce4423983c086bb61a
Co-authored-by: Martin Wallgren <martin.wallgren@sonymobile.com>
Signed-off-by: Zoran Jovanovic <zoran.jovanovic@sonymobile.com>
Bug: 31052947
Test: run tests from 'OMS: tests for OverlayManagerService'
2017-02-23 14:01:38 -08:00
Guang Zhu
9545980692 Revert "OMS: integrate OverlayManagerService into framework"
Bug: 31052947
Bug: 35697944

This reverts commit 21a3d1ad68.

Change-Id: I2d86931020301524c26cf8c8e80d557c97fdd6c3
2017-02-23 07:35:39 +00:00
Mårten Kongstad
21a3d1ad68 OMS: integrate OverlayManagerService into framework
Hand over ownership of overlays to OverlayManagerService.

Changes to a package's overlays are propagated using the activity life
cycle. Affected activities will be recreated as needed. This provides a
well-defined point to modify an application's assets while the
application is paused.

Consolidate how overlays targeting the system and overlays targeting
regular applications are handled. Previously, system overlays were
handled as a special case. Now, everything is handled identically. As a
side effect, the call to idmap --scan during Zygote boot has become
obsolete and is removed.

Information on what overlays to use is recorded in
ApplicationInfo.resourceDirs. The PackageManagerService is responsible
for the creation of ApplicationInfo objects. The OverlayManagerService
is responsible for informing the PackageManagerService in advance about
what resourceDirs to use.

When launching an application, the ApplicationInfo is already populated
with up-to-date information about overlays.

When enabling or disabling an overlay for a running application, the
OverlayManagerService first notifies the PackageManagerService about the
updated resourceDirs. It then tells the ActivityManagerService to push
the new ApplicationInfo object to the application's ActivityThread.
Finally the application requests its ResourcesManager to create new
ResourcesImpl objects based on the updated paths.

Co-authored-by: Martin Wallgren <martin.wallgren@sonymobile.com>
Signed-off-by: Zoran Jovanovic <zoran.jovanovic@sonymobile.com>
Bug: 31052947
Test: run tests from 'OMS: tests for OverlayManagerService'
Change-Id: Idc96dae6fc075d5373aa055bbf50e919136d7353
2017-02-21 14:29:43 -08:00
Jerry Zhang
9c78253b75 Merge changes from topic 'svcusb' am: 5e2a2ee39e am: 6f44072d03 am: 35f8d6cfd0
am: fba74d6c61

Change-Id: I190467cba81aca56f32a0a6ff6d8e798e1e7ac30
2017-02-17 04:41:32 +00:00
Jerry Zhang
fba74d6c61 Merge changes from topic 'svcusb' am: 5e2a2ee39e am: 6f44072d03
am: 35f8d6cfd0

Change-Id: I10c0be37b583f1670cb98e926aefb9dc8b986843
2017-02-17 02:24:44 +00:00
Jerry Zhang
35f8d6cfd0 Merge changes from topic 'svcusb' am: 5e2a2ee39e
am: 6f44072d03

Change-Id: Ic30bca41e088c2d077dc5aa09e373a02acb60be6
2017-02-17 02:16:11 +00:00
Philip P. Moltmann
30a2d638c0 Allow the shell to set USB functions.
Bug: 25596495
Test: Issed a shell command and saw it handled correctly
Change-Id: I4472464a1c7ed100cb257dbad83d1d8cfef88fc6
2017-02-16 13:14:50 -08:00
Felipe Leme
92aaaa21ee Moved bugreport intents to the com.android.internal namespace.
Change-Id: I5ad53668b9393188cee4d8b0382f9c303ff95777
Fixes: 35275802
Test: manual verification
2017-02-15 16:08:53 -08:00
TreeHugger Robot
ccb258d001 Merge "Added more logging on BugreportProgressService." 2017-02-14 01:01:31 +00:00
TreeHugger Robot
9e193f03e8 Merge "Dismiss keyguard before displaying bugrepot details dialog." 2017-02-11 08:28:07 +00:00
Felipe Leme
ec60e5f40c Added more logging on BugreportProgressService.
BUG: 35010191
BUG: 35077822

Test: manual verification
Test: BugreportReceiverTest passes
Change-Id: Iaa37f633c6415127a3efa07c166f5a771a13ff5a
2017-02-10 17:41:18 -08:00
Felipe Leme
17d9e9c36d Dismiss keyguard before displaying bugrepot details dialog.
Fixes: 27494228
Test: manual verification
Test: BugreportReceiverTest passes

Change-Id: I7755fc2d3d4f1f9b55301c65f7a58c9374e93664
2017-02-10 16:20:02 -08:00
Felipe Leme
8775eaac44 Set package name on bugreport intents.
BUG: 35257764
Test: BugreportReceiverTest passes
Change-Id: Ia6ff03b2a12ab9987f5b36fa1da88e9c77af18a2
2017-02-10 13:06:58 -08:00
Paul Duffin
43267b4b9e Merge "Prepare for removal of legacy-test from default targets" am: c74ccf1588 am: ab62fd67d8
am: 56a2ae1056

Change-Id: I0ede6895eb25f72a74af3ac4431a21960500bec5
2017-01-19 11:49:28 +00:00
Paul Duffin
56a2ae1056 Merge "Prepare for removal of legacy-test from default targets" am: c74ccf1588
am: ab62fd67d8

Change-Id: I923de1762a15fca7dc255f9dfe0ecce6f54d333c
2017-01-19 11:44:56 +00:00
Paul Duffin
ccb0445027 Prepare for removal of legacy-test from default targets
In preparation for removing junit classes from the Android API
the legacy-test target will be removed from the
TARGET_DEFAULT_JAVA_LIBRARIES. This change adds explicit
dependencies on junit and/or legacy-android-test to ensure that
modules will compile properly once it is removed.

(cherry picked from 6387604f9e672ece85e07c4bcbd7be396867f06f)

Bug: 30188076
Test: make checkbuild
Merged-In: I13e88297731253420e4e5f5291d503f13a39a156
Change-Id: I58446eb8c45d8ac2bcdbc9fa40d1321e811bdd4b
2017-01-19 09:43:05 +00:00
Tamas Berghammer
24d8553316 DO NOT MERGE: Revert "Update package names to work with the proto3 compiler"
This reverts commit cbd3f0c59a.

Change-Id: I6e8d193fa22e0e7e30b214c13ae0480d3c9b0dc6
2017-01-18 19:33:22 +00:00
Paul Duffin
8aeb59ebcd Prepare for removal of legacy-test from default targets
In preparation for removing junit classes from the Android API
the legacy-test target will be removed from the
TARGET_DEFAULT_JAVA_LIBRARIES. This change adds explicit
dependencies on junit and/or legacy-android-test to ensure that
modules will compile properly once it is removed.

Bug: 30188076
Test: make checkbuild
Change-Id: I13e88297731253420e4e5f5291d503f13a39a156
2017-01-18 16:39:34 +00:00
Bill Yi
09934a01fa Import translations. DO NOT MERGE
Change-Id: Id49c8f367fafd803a9ce3f2f7fbd8c5b9c6dc7bc
Auto-generated-cl: translation import
2017-01-12 02:41:59 -08:00
Tamas Berghammer
cbd3f0c59a Update package names to work with the proto3 compiler
Bug: b/28974522
Change-Id: I5f3adf4946ee4ba1e09e4f40afe83c151405972a
(cherry picked from commit 383db5ebcc)
2017-01-11 11:27:38 +00:00
Roozbeh Pournader
b84a505b62 Rename language+country resources to just language
Bug: 26496609
Test: none
Change-Id: I40b99a8728f1f324f4c1f8066a61c3d5f92b1ac6
2017-01-10 23:51:26 -08:00
Bill Yi
918c1fe649 Import translations. DO NOT MERGE
Change-Id: Ic7bd696893c0dd751de4c45097e404824174348c
Auto-generated-cl: translation import
2017-01-09 19:18:41 -08:00
Makoto Onuki
ff329c4329 Bugreport sharing is now work profile aware
Now we look at work profile too, if available, when looking for a preferred
email address.

TODO: The chooser activity should default to work profile too, but it seems
to require a lot more work, so not done yet.

Test: manual tests
Test: adb shell am instrument -w -e class com.android.shell.BugreportProgressServiceTest com.android.shell.tests

Bug 30865666

Change-Id: I9b4776d53455a23bfdc4960da25e98bd1dc1b2a1
2017-01-05 14:14:51 -08:00
Bill Yi
c03766163d Revert "Import translations. DO NOT MERGE"
This reverts commit d3d688a295.

Change-Id: I70458c0379aacd83fc0d033131360178f44e2e57
2016-12-05 19:00:10 +00:00
Bill Yi
d3d688a295 Import translations. DO NOT MERGE
Change-Id: I7dbe0388d0e3deedd0d214a55361d30335b56502
Auto-generated-cl: translation import
2016-12-02 21:01:26 -08:00
Baligh Uddin
b1df48d326 Merge remote-tracking branch 'goog/cw-f-dev' into fix_merger
Bug: 32849428

* goog/cw-f-dev: (98 commits)
  Revert "Catch KeyStoreException for setting profile lock"
  Fix createConfirmDeviceCredentialIntent for wear for CTS.
  Fix default dialog background colour for watch devices.
  Catch KeyStoreException for setting profile lock
  Add cross-links between FINE and COARSE location permissions. bug: 25371600
  Fixed a bug with the emergency affordance in multi user
  Zygote: Additional whitelists for runtime overlay / other static resources.
  Import translations. DO NOT MERGE
  Import translations. DO NOT MERGE
  Import translations. DO NOT MERGE
  Import translations. DO NOT MERGE
  Import translations. DO NOT MERGE
  Import translations. DO NOT MERGE
  Import translations. DO NOT MERGE
  Zygote : Block SIGCHLD during fork.
  colors: add missing accent_material_{700,50} resources.
  Import translations. DO NOT MERGE
  Import translations. DO NOT MERGE
  Zygote : Block SIGCHLD during fork.
  DO NOT MERGE ANYWHERE Revert "DO NOT MERGE ANYWHERE libhwui: make setSurface asynchronous"
  ...

Change-Id: I63468da5bfa21ed9ac5985bbdbf3a61d4c389aa0
2016-11-22 17:19:45 -08:00
Bill Yi
5e7d7e48f0 Import translations. DO NOT MERGE
Auto-generated-cl: translation import

Bug: 32177112
Change-Id: Iad7637d1a9f10f5641f089db9542734be4da0d2e
2016-11-20 14:18:34 -08:00
Felipe Leme
326336d14c Fixed obsolete comment.
Bug:32906084
Test: not needed
Change-Id: I0c79e4ffb66405a30d3c83d2e7654cbef413f6e1
2016-11-15 11:24:42 -08:00
Felipe Leme
fa26a0ed08 Refactored Shell to use IDumpstateListener.
BugreportProgressService used to poll system properties to get the
progress of the underlying dumpstate process, but now dumpstate provides
a IDumpstateListener and IDumpstateToken binder objects for the same
purpose.

Test: BugreportReceiverTest passes
Test: manual verification

BUG: 31636879

Change-Id: I81d551781a511cb1cc218a27452875b0bb267f7a
2016-11-11 15:50:21 -08:00
Bill Yi
b8aaaa8949 Import translations. DO NOT MERGE
Auto-generated-cl: translation import

Bug: 32766034
Change-Id: Iedf58d553e92d709ee8e7b4c7423d7e5a13a4996
2016-11-10 20:49:23 -08:00
TreeHugger Robot
00f42c3b28 Merge "Initial implementation of the Auto-Fill Framework classes." 2016-11-09 19:19:32 +00:00
Felipe Leme
5381aa4b58 Initial implementation of the Auto-Fill Framework classes.
This CL provides the initial, skeleton implementation of the Auto-Fill
Framework classes:

- Defines the system service and app-based
  AIDL (IAutoFillManagerService.aidl and IAutoFillService.aidl respectively).
- Defines the 'adb shell cmd' interface.
- Defines the permission required to access the service.
- Registers the service on SystemServer.
- Adds the code to bind the app-specified service to system_server.
- Defines the service class (AutoFillService) required by providers.
- Implements the initial startSession() method.

This is still a very early, "work-in-progress" change:
- It has many TODOs.
- It does not have unit or CTS tests yet.
- It does not provide a callback method to auto-fill the fields.
- In fact, it has a lot of TODOs.

Despite these adversities, it can be tested by following the steps
below:

1.Create an app with a service extending AutoFillService

2.Implement the onNewSession() method

3.In the manifest:
 - Listen to android.service.autofill.AutoFillService intents.
 - Require the android.permission.BIND_AUTO_FILL permission.

4.Explicitly set the app as an autofill-service by running:
  adb shell settings put secure auto_fill_service MY_APP/.MY_SERVICE

5.Start a session against the top activity:
  adb shell cmd autofill start session

BUG: 31001899
Test: manually built and ran it

Change-Id: I00f4822159b31ddddba8f513e57c4474bc74eb89
2016-11-08 14:40:56 -08:00
Tamas Berghammer
383db5ebcc Update package names to work with the proto3 compiler
Bug: b/28974522
Change-Id: I5f3adf4946ee4ba1e09e4f40afe83c151405972a
2016-11-08 14:06:09 +00:00
Bill Yi
6173104551 Import translations. DO NOT MERGE
Change-Id: I9d7b6d9dd8d752b25d78e5f3495a3dfd16e2bd5a
Auto-generated-cl: translation import
2016-11-08 01:16:54 -08:00
Felipe Leme
1ac5441f57 Collapses status bar on teardown so it does not affect other tests.
BUG: 30639703

Test: mmm -j32 frameworks/base/packages/Shell && adb install -r -g ${ANDROID_PRODUCT_OUT}/data/app/ShellTests/ShellTests.apk && adb shell am instrument -e class com.android.shell.BugreportReceiverTest -w com.android.shell.tests/android.support.test.runner.AndroidJUnitRunner

Change-Id: I2635439ac0c033d1ad6b4ba545b8d751f5576b72
2016-10-11 09:26:02 -07:00
Tomasz Mikolajewski
219fa882d1 Remove support for archives from External and Bugreport providers.
Change-Id: Ia281fe05a0a6a5dd6ff1b66d7197312cf4391793
Test: Compiles.
Bug: 31783726
2016-09-28 11:32:59 +09:00
TreeHugger Robot
3fbaf383d3 Merge "Use a system property to call different bugreport types." 2016-09-26 18:33:17 +00:00
Wei Liu
edc3b4faf5 Allow shell to acquire wakelock. am: 6e500010b1
am: 973a07c87e

Change-Id: I20881eddb5c51835aea3eb78bee80f06fb2cb205
2016-09-22 23:02:31 +00:00
Wei Liu
973a07c87e Allow shell to acquire wakelock.
am: 6e500010b1

Change-Id: I8331a2a2830551a87953edf040c1ed432e0bfd09
2016-09-22 19:01:42 +00:00
Felipe Leme
1a83dede85 Use a system property to call different bugreport types.
Currently, we define 4 hardcoded init services to launch dumpstate with
different command-line options (since dumpstate must be launched by
root):

- bugreport
- bugreportplus
- bugreportwear
- bugreportremote

This approach does not scale well; a better option is to have just one
service, and let the framework pass the extra arguments through a system
property.

BUG: 31649719

Test: manual
Change-Id: I1d627a73bfbdd9930c605fa4468c15282a23bb65
2016-09-21 11:50:44 -07:00
Wei Liu
6e500010b1 Allow shell to acquire wakelock.
b/30832947

Change-Id: I348ab5642ca625b4700ec63f72414729d574da5e
2016-09-13 16:28:45 -07:00
Ben Lin
663e0e97d5 Push delete notification when Bug reports are deleted. am: 86805aa3af am: 64146c5d24
am: b01be62d58

Change-Id: I8e1b6dc42e44307feef1ba912a3465c2d25594e1
2016-08-31 04:37:16 +00:00
Allen Hair
63180a0754 Configure code coverage filters. am: 02fd609460 am: 15b70213a4
am: 8b931e08d0

Change-Id: If94db4d01eb5ff4a9f463200d529b0054899bcd5
2016-08-30 17:13:01 +00:00
Ben Lin
b01be62d58 Push delete notification when Bug reports are deleted. am: 86805aa3af
am: 64146c5d24

Change-Id: I6c9837068616943b72223556842d6570adc4c90b
2016-08-30 02:24:20 +00:00
Ben Lin
64146c5d24 Push delete notification when Bug reports are deleted.
am: 86805aa3af

Change-Id: I1bd1544f5a3848077cb98faf184e99a9c22f1771
2016-08-29 23:01:30 +00:00
Ben Lin
86805aa3af Push delete notification when Bug reports are deleted.
Bug: 28768706
Change-Id: I6d3e91fe7d12be44918f97cef12c99d936401270
2016-08-29 14:08:32 -07:00
Allen Hair
8b931e08d0 Configure code coverage filters. am: 02fd609460
am: 15b70213a4

Change-Id: Idf84ee3cf08af547ec7564c5e663b7d7fed0c97d
2016-08-26 17:41:11 +00:00
Allen Hair
15b70213a4 Configure code coverage filters.
am: 02fd609460

Change-Id: Iae831e68c195abcfa52528ac8609fbbee0be03df
2016-08-26 17:33:35 +00:00