The privilege for an app to write to the system settings is protected
by an app-op signature permission. App-op permissions are special: if
the app-op is deny/allow we deny/allow write access; if the app-op is
default holding the permission determies write access. The settings
code assumes that CHANGE_NETWORK_STATE is an app op permission
(system|appop) while it is a normal permission which any app gets by
declaring it used in the manifest.
The side effect is that the state of the toggle in the UI for write
system settings will initially be in the wrong state if the app uses
both WRITE_SETTINGS and CHANGE_NETWORK_STATE. However, the code in
the public API an app uses to check write settings access would return
the opposite since it checks the WRITE_SETTINGS permission and its
app op. Hence, if an app requires write settings to start the user
will see in the settings UI it has access but the app will not have
access, so the app would prompt the user to allow write settings.
The non-obvious fix is for the user to toggle the setting off and on
to get the app op in the right state and be able to launch the app.
bug:25843134
Change-Id: I3d726a66c7f9857bc7dbd5946fdbb8f340c6eb4d
(cherry picked from commit 356fb2d10d)
am: 3b4e4dd91d
* commit '3b4e4dd91d416c93fdc0326e54469ceabb8281ab':
Further tweak to issue #issue #25371736: Don't include z-ram allocations in Android OS
Make sure the duration shown for z-ram is sane (the maximum of the
other process durations of that app).
Change-Id: I62c46b89f927b2c7c16f5c31f6910419b2bdd130
Just distribute them across all of the running apps, by creating
an additional fake "z-ram" process for each of them.
Change-Id: I9b4efe9c7b907779a0ec76cb8652709619e2e686
Also make sure that the 'Clear defaults' action unsets the app's
standing as the default browser, when applicable.
Bug 23751034
Change-Id: I6131b763bfa76ba38d18cad2abbb35caffe789aa
..in link-opening behavior. If a candidate is marked as "ask
every time," then the user is guaranteed to get a disambiguation
prompt including that candidate even when some other candidate
app is in the "always prefer this over a browser" state.
Bug 23147746
Change-Id: I73d8893ab74ea0356b757ab836349243cda2e307
Use frozen state as a proxy for knowing if a package is currently
being moved, and block any new move requests until the current move
is finished.
Bug: 22069486
Change-Id: I50a70353132c1035b969982f0b7779f5dcb2251d
Change the implementation of AppStateAppOpsBridge to handle multiple
requested permissions in one operation due to the merging of
CHANGE_NETWORK_STATE permission with WRITE_SETTINGS.
This change will affect the packages that will be listed under the
"Write system settings" option in Settings->Apps->[Gear/Cog].
Change-Id: I7d2304d2846b6f505a7b1c3fcf53e7a9bd184ed5
The app link settings "Open by default" detail view was showing
only one host under label "Supported links," improperly implying
that the app would only open that host's links. The summary now
matches the 'App links' view's, explaining "Open $HOST and related
URLs" for apps with more than one.
Tapping on the item has always shown the full list of hosts
advertised by the app, and this remains unchanged.
Bug 22769535
Change-Id: I2be409df64639eb0f2b43a06e3195796c3a3df8b
* commit '95026e032809f39fb2aece05e8b3d8f74eca77ea':
Bug: 22718745 Intents to 'draw over other apps' should go direct to the package's page instead of the top level one
page instead of the top level one
Settings:
Added two activities to handle app-specific Intent when app invoke permission
management UI.
SettingsActivity:
Added two fragment classes to handle app-specific Intent when app invoke permission
management UI.
AndroidManifest.xml:
We handle both Intent to top level settings and app-specific management UI for
app ops protected permissions.
AppStateAppOpsBridge:
Added a new field to PermissionState to keep track of permission declared vs one
that is actually granted during install time.
AppState{Overlay/Usage/WriteSettings}Bridge:
Updated the fields affected by changes in PermissionState.
{DrawOverlay/UsageAccess/WriteSettings}Details:
Disabled the toggling of permission if the app did not declare for the asked
permission.
Change-Id: Ibf63e4d9a4fbf7899a93d2176abb1204c4f75557
Overall, fixed the detection of the state of permission in the corresponding
UX to be more accurate. Also ensured that apps needing this capability can
launch the summary UX through a specific intent.
AndroidManifest:
Adds the proper intent-filter so that apps can launch the Settings page using
intent.
strings.xml:
Increased the CHAR limits for some strings due to requests from translators.
Change-Id: Ie64f86e034867ed582c1c583a5e8f84671fa4d63