Experimentally, it makes more sense to more people to have the parent
setting as an overlay not a concrete thing.
Test: make cts -j30 && cts-tradefed run cts --module CtsDevicePolicyManagerTestCases --test 'com.android.cts.devicepolicy.ManagedProfileTest#testRingtoneSyncAutoDisableRingtone' </dev/null 2>&1
Bug: 34730524
Change-Id: I5f804713def9e54921b90e4f5cea742ba8aaa685
This CL is a follow up CL to my previous CL [1] that aimed to reduce
false positives in InputMethodManagerService.MyPackageMonitor when
deciding if InputMethodManagerService (IMMS) needs to rebuild the list
of enabled IMEs or not.
Currently IMMS.MyPackageMonitor#onSomePackagesChanged() gets called
back to trigger IMMS#buildInputMethodListLocked() when either the
following rule A or B is fulfiled.
A. Intent with one of the following actions for any package name:
- ACTION_PACKAGE_ADDED
- ACTION_PACKAGE_REMOVED
- ACTION_EXTERNAL_APPLICATIONS_AVAILABLE
- ACTION_EXTERNAL_APPLICATIONS_UNAVAILABLE
- ACTION_PACKAGES_SUSPENDED
- ACTION_PACKAGES_UNSUSPENDED
B. ACTION_PACKAGE_CHANGED with a package that is included in the
known IME package list, which can be obtained from PackageManager.
The previous CL [1] addressed Bug 28181208 by introducing the rule B,
but we can actually apply the same optimization for A, except for one
false negative case where an appearing package that is not in the
known IME package list actually contains one or more
InputMethodService.
In short, we can reduce false positives by replacing the above two
rules with the following two rules.
A. Intent with one of the following actions for any package name that
is in the known IME package list:
- ACTION_PACKAGE_ADDED
- ACTION_PACKAGE_CHANGED
- ACTION_PACKAGE_REMOVED
- ACTION_EXTERNAL_APPLICATIONS_AVAILABLE
- ACTION_EXTERNAL_APPLICATIONS_UNAVAILABLE
- ACTION_PACKAGES_SUSPENDED
- ACTION_PACKAGES_UNSUSPENDED
B. Intent with one of the following actions for any package that
implements at least one InputMethodServivce.
- ACTION_PACKAGE_ADDED
- ACTION_EXTERNAL_APPLICATIONS_AVAILABLE
Basically in the rule A PackageManager gives us the list of relevant
package names that might contain IMEs regardless enabled/disabled
state, and such a list works well to filter out irrelevant
notifications except for one case where a new package is adding one
or new IMEs that we did not know. This is why we also need the rule B.
Even though the rule B requires a secondary query to PackageManager,
it can be done outside of the state lock of IMMS.
[1]: I7b69c349318ce06a48d03a4468cf2c45bfb73dc2
c4e4491735
Test: Manually verified as follows.
1. tapas ShortcutDemo && make -j
2. Copy ShortcutDemo.apk to the current directory.
3. adb shell dumpsys input_method | grep mMethodMapUpdateCount=
to check the "mMethodMapUpdateCount".
4. adb install -r ShortcutDemo.apk
5. adb shell dumpsys input_method | grep mMethodMapUpdateCount=
to make sure "mMethodMapUpdateCount" remains unchanged.
6. adb install -r ShortcutDemo.apk
7. adb shell dumpsys input_method | grep mMethodMapUpdateCount=
to make sure "mMethodMapUpdateCount" remains unchanged.
8. adb uninstall com.example.android.pm.shortcutdemo
9. adb shell dumpsys input_method | grep mMethodMapUpdateCount=
to make sure "mMethodMapUpdateCount" remains unchanged.
Test: Manually verified as follows.
1. tapas SoftKeyboard && make -j
2. Copy SoftKeyboard.apk to the current directory.
3. adb root
4. adb install -r SoftKeyboard.apk
5. adb shell dumpsys input_method
Make sure that
com.example.android.softkeyboard/.SoftKeyboard
is recognized by IMMS.
6. adb shell pm disable com.example.android.softkeyboard/.SoftKeyboard
7. adb shell dumpsys input_method
Make sure that
com.example.android.softkeyboard/.SoftKeyboard
is no longer recognized by IMMS.
8. adb shell pm enable com.example.android.softkeyboard/.SoftKeyboard
9. adb shell dumpsys input_method
Make sure that
com.example.android.softkeyboard/.SoftKeyboard
is recognized by IMMS again.
Fixes: 35361128
Change-Id: I063688297156188f68fe0b55a46d72f2e811dc88
Java API changes to support MediaCas framework.
Also add partial-frame related enums to MediaCodec,
MediaCodecInfo, and MediaExtractor as a way to indicate
a input frame contains partial data.
Test: basic test app and test plugin to execise the code path;
impelenting playback of CAS-secured MPEG2TS streams, including
a Widevine-based CAS plugin, locally modified ExoPlayer and
Android TV Tuner input.
bug: 22804304
Change-Id: Ia4ba1d4046f7588e42bfb21e726390457d2fc8e3
Had to add a new ctor to get a Context instance and deprecate the
single arg ctor. Since this was being done I also took the opportunity
to replace the Handler param with an Executor which is more
appropriate in this case.
I'll remove the deprecated ctor once I've updated all of its
call points.
Test: adb shell am instrument -e class android.net.NetworkRecommendationProviderTest -w com.android.frameworks.coretests/android.support.test.runner.AndroidJUnitRunner
Bug: 34518584
Change-Id: Ic2441655d69838ae9caa7d598e876dec36e15363
Change-Id: Idfd094f3c9ea59356440d6851ccd5abda36ca6ba
Fixes: 35640585
Test: manual; after boot, opened the power menu to force
system_server to spin up a ThreadedRenderer instance
(and thus register itself as a callback on GraphicsStatsService).
Then manually set the date forward by a day to trigger onAlarm
and verified the system didn't reboot/crash. A systrace capture
verified that the alarm fired and package:android (system_server)
had a log rotation event.
Set AM/PM mode before setting hour in TextInputTimePickerView. This is
needed so we know exactly which it is when we are using 12 hour clock.
Not setting it early was causing TextInputTimePickerView to update TimePicker
with the hour that was not offset correctly based on AM/PM state.
Test: existing tests caught this - TimePickerTest#testKeyboardInputModeClockAmPm
verified locally that this test now passes.
Bug: 35262830
Change-Id: I7e912320cb5a72c5d9d4e80dc0b42deb651f2636
This change introduces "base classes" of the AIDL interfaces that are
implemented in vendor provided ImsServices. This allows for new APIs
to be added to the AIDL files, along with stub implementation of those
AIDLs in the base classes. By extending from the base class, older
implementations of the AIDL interfaces will not need to be updated
when the interface changes.
This change also moves some of the com.android.ims classes from
frameworks/opt/net/ims to frameworks/base. Any class that will be
used in the new unbundled ImsService system will need to be in
the framework, as opposed to the optional library that they are
in now.
Bug: 30290416
Test: Manual
Change-Id: I4a186d8e910d6d4f711e983ec8d717fc5cbdefab
Spinner is a special kind of list-value field because its auto-fillable
values are not currently present in the assist structure: this change
adds a getAutoFillOptions() to fill that void, and implements the
auto-fill APIs on Spinner.
It also fixes RadioGroup.getAutoFillValue() - it should return the index
of the child, not its resource id.
Bug: 33550221
Test: CtsAutoFillServiceTestCases (with new tests) pass
Change-Id: I625e7dd705fade56fda490fcd3c4446c0c245ee1
It was never a public API, and we now have a support and CTS tested
public API over at StorageStatsManager that apps should be using.
Test: builds, boots
Bug: 34643504
Change-Id: Iad3f2c000dd9d7c1b1e70d0bf2d281826737322e
Display a message indicating that a saved networks has not been
automatically connecting due to low quality if
WifiConfiguration#mNotRecommended is set.
Bug: 34745259
Bug: 35671673
Test: m RunSettingsLibRoboTests && runtest frameworks-wifi
Change-Id: I275e2711da68715fb6d92bf954e9f58a3386b1f4
Merged-In: I275e2711da68715fb6d92bf954e9f58a3386b1f4
This gives developers a way to collect package-level stats, even if
it means we have to use manual calculation for sharedUserId apps.
Also round size of storage devices to nice power-of-two values so we
do a better job of matching retail packaging.
Test: builds, boots
Bug: 35294241
Change-Id: I24946c443bb9dc4b0411a8149a0656702ac1fd24
The new sdcardfs filesystem requires that we have stricter access
controls around /data/media style locations. Start by taking away
the "media_rw" GID from apps requesting the WRITE_MEDIA_STORAGE
permission.
Common use-cases like music playback appear to continue working fine,
as clients should only be attempting to use /data/media paths after
calling maybeTranslateEmulatedPathToInternal().
Test: builds, boots, music playback works
Bug: 35447080
Change-Id: Iba9f3ef41d3277c75497f675a1fe6d3406cf4542
Skia now has a mode that will perform color correction,
but still do the premultiply on gamma encoded bytes.
Test: Flashed device, ran cts.
Change-Id: Ib1d1ea1074b5e6d1a49ecfc45e25552643dc04bc
- Add constant in NetworkScoreManager for the meta-data key required
for NetworkRecommendationProviders to specify which package provides
this feature.
- Add Setting to specify which package is enabled for providing this
feature.
Bug: 34773276
Test: make
Change-Id: I3f8209c21b8b219c242650f97ba407b5985a5250
Two methods on AccessibilityService were declared abstract, but
there doesn't seem to be a good reason for them to be abstract, as
it's possible to write an accessibility service that doesn't do
anything useful with the methods. Removing the abstract qualifier
to reduce boilerplate for service developers.
Bug: 31705365
Test: Trivial change, so I just verified that it builds.
Change-Id: I2af39848c8ab343d562361fdc1c3f8ca3ecb5f00