This project is mirrored from Pull mirroring updated .
  1. 11 Feb, 2018 1 commit
    • Bruno Martins's avatar
      Settings: Privacy Guard · bfc4fe14
      Bruno Martins authored
      This had been partially split into CMParts, now LineageParts.
      The AppOps functionality still lives here.
      Squash of the following changes, adapted to the Lineage SDK:
      Author: Steve Kondik <>
      Date:   Tue Feb 25 14:02:16 2014 +0100
          settings: Relocate Privacy Guard icons to framework
          * So we can use them in the permission dialog for MODE_ASK
          Change-Id: Ia9bac7dff0bbe91ae48db5d4b0d8f46feb9fdf86
      Author: DvTonder <>
      Date:   Thu Jan 16 19:01:23 2014 -0500
          Settings: Fix up top level "Privacy" section
          Change-Id: Id4dbda10a891c793bc6eb3c42807cc0e3f6092cc
      Author: Danny Baumann <>
      Date:   Fri Nov 8 13:37:07 2013 +0100
          Add back privacy guard manager.
          Change-Id: Ic9fbbae137bb8425fe72a6cdb2f17117351b5709
      Author: Chirayu Desai <>
      Date:   Sat Dec 28 18:51:46 2013 +0530
          PrivacyGuard: Specify a default value in Settings.getInt method call
          * While privacy guard is enabled by default, the default value specified
            here is returned only when the setting is not defined or not an integer.
          Change-Id: Iaedffcc76a23a310aa7915f6a42ccce83ba5d2a6
      Author: Matt Mower <>
      Date:   Wed Feb 5 19:40:37 2014 -0600
          PrivacyGuard: confirm permissions reset
          The button to reset all application permissions to enabled looks
          suspiciously like a refresh button. Prompt the user with a confirmation
          dialog to make sure they know what they've pressed.
          Change-Id: I0444c5bf8e9533feccf890055d34d3200609c6f6
      Author: Diogo Ferreira <>
      Date:   Wed Dec 17 11:56:22 2014 +0000
          su: Add Root access app-ops control
          Adds an app-ops option for root access.
          Platform-signed apps weren't previously being listed but there are some
          that use root access (FileManager comes to mind).
          So we list all of them, but for platform-signed apps we only show the
          root toggle and none of the permission-based ones.
          Change-Id: Ie716974156d55eb66061e78dc39505569e5bdc2a
      Author: Shashank Mittal <>
      Date:   Thu Sep 5 19:01:47 2013 -0700
          AppOps: Add more operations in app ops settings.
          Add following operations in app ops settings.
          -- Wifi enable/disable
          -- Bluetooth enable/disable
          Change-Id: I32183d77b88c326168557444a445765b5a69de6f
          AppOps: Add support for nfc operation
          Add support for nfc operation
          Change-Id: I0ca617b11d3f65f80cc49c3f629312e2fee1ba91
          AppOps: Add mobile data-on permission control.
          Add mobile data-on permission control.
          Change-Id: I0956fb1575addb5f4e522e664a80442120190b86
      Author: Michael Bestas <>
      Date:   Sat Mar 8 03:18:34 2014 +0200
          Settings: Convert AppOps array items to string references
          * Avoid future breakage
           This will need conversion of all AOSP translated arrays to strings
          Change-Id: I2e52e4013d1232d529ce5b9e3aae3502c42e938a
      Author: Shashank Mittal <>
      Date:   Thu Mar 6 17:16:49 2014 -0800
          AppOps: Add 'Always ask' option under appOps setting.
          Add always ask option for each operation.
          Change-Id: Ia4f331a5b7d0b1c8ae6946c55a4f78818fe0454f
      Author: Shashank Mittal <>
      Date:   Fri Aug 1 13:05:35 2014 -0700
          AppOps: Use switch widget for non-strict ops.
          There are few Ops for which 'Always Ask' mode is not allwoed.
          So use switch widget to control such Ops.
          Change-Id: Ic7464a207c00e4cb9efff57c1f060e04379c1ee7
      Author: Chirayu Desai <>
      Date:   Mon Dec 7 14:07:11 2015 -0800
          Allow disabling the privacy guard notification - port from cm-12.1 (1/3)
          Change-Id: Iebf4545c1a65b10036a4865bae29d14e86b12d07
      Author: Roman Birg <>
      Date:   Mon Nov 2 17:34:00 2015 -0800
          Fix advanced privacy guard screen
          Change-Id: I1064f2df748b21384f53219b87645f1569f595d5
      Signed-off-by: default avatarRoman Birg <>
      Author: Sam Mortimer <>
      Date:   Thu Oct 3 13:51:31 2013 -0700
          AppOps: menu options to show/hide user and system apps
          Change-Id: Ia55364c361db949a891e4b53a757ee4dff519eb6
      Author: Danny Baumann <>
      Date:   Wed Oct 2 22:24:14 2013 -0700
          [1/2] AppOps: Show allowed/ignored counts
          Change-Id: Ia27737155c33e934df9a2a1fcff88379240fd096
      Author: Sam Mortimer <>
      Date:   Sun Dec 1 21:39:07 2013 -0800
          AppOps: only apply app type filters to summary screen
          *) If buildState() is called for a single package, do
             not apply hide user/system app filters.
          *) Fixes show detail display when called via
             long press in privacyguard and an AppOp hide
             filter is ticked.
          Change-Id: If31d094fb989836ab6829daeefe820695032c0ed
      Author: Diogo Ferreira <>
      Date:   Mon Jan 5 18:19:12 2015 +0000
          privacyguard: Add Superuser summary
          Adds superuser summary to the privacy guard "Advanced" menu, this
          is useful for auditing purposes. The tab is only visible when root
          for apps is enabled.
          Change-Id: I0b71c51d10e44e69102c311e526cdb1fde9bda26
      Author: Danesh M <>
      Date:   Mon Mar 21 13:56:22 2016 -0700
          Settings : Fix default privacy guard preference
          Ensure we write to the correct table.
          Change-Id: I1260cf665080631e3e2ec19b371a79eee273c6d2
      Author: Lars Greiss <>
      Date:   Sat Apr 25 03:15:15 2015 +0300
          Launch app privacy settings when tapping on PG notification (2/2)
          Based on
          JIRA: CYAN-6077
          Change-Id: I8632e8c944c1d5d7ad2fb2a2276bae5fe2d4a0a0
      Author: Michael Bestas <>
      Date:   Mon Jan 12 00:09:26 2015 +0200
          Update privacy guard reset icon
          Change-Id: Ia636b08fea0d21c0185d053ecf601d1ddcf5a828
      Author: jrizzoli <>
      Date:   Fri Apr 24 15:00:28 2015 +0200
          Settings: update dashboard icons
          * Lockscreen: drawable from quicktoggles
          * Performance: chip
          * Privacy: shield
          * Sounds: speaker
          Change-Id: I227778583d073c1d3fdfb727dcc32c949c535847
      Signed-off-by: default avatarjrizzoli <>
      Author: blunden <>
      Date:   Sat Dec 6 20:18:20 2014 +0100
          Update the Privacy category drawable
          Replace the current ones with new vector drawables
          Change-Id: I27a6778d876672c78469b886e2574baa149aad80
      Author: Diogo Ferreira <>
      Date:   Mon Jan 5 17:56:53 2015 +0000
          PrivacyGuard: Tint the enabled icon
          The enabled icon was white and when enabled, the icon would get
          the exact same color as the background, rendering impossible to see.
          Change-Id: I4dc2b52cfca46abf2eff28a0b25918d42cf39f09
      Author: nickdoherty81 <>
      Date:   Mon Jan 5 00:07:56 2015 -0500
          Check boxes to Switches in PrivacyGuardPerfs
          Change-Id: I329df30a6a095a6a5f5829d8b627b00769e18685
      Author: Diogo Ferreira <>
      Date:   Wed Jan 14 16:06:23 2015 +0000
          appops: Load the app list asynchronously
          The AppList is pretty big and it is loading in the UI thread. This
          is noticeable even on high-end chips and there is a definite possibility
          that it throws an ANR on lower-end ones.
          This patchset adds an asynchronous loader and updates the privacy guard
          to use it.
          Change-Id: I81f3fb64604af07a351f8cbdfffa7454389e2cee
      Author: Adnan Begovic <>
      Date:   Tue Jan 27 18:11:19 2015 -0800
          Settings: Fix off-by-one SectionIndexer in PrivacyGuard.
          Change-Id: If97876214d6f532ca4e5a09f09d881cd4fbf0231
      Author: Adnan Begovic <>
      Date:   Wed Jan 28 15:53:35 2015 -0800
          Settings: Fix inflate exception on search. Dynamically replace nested fragment.
             When PrivacyGuard is opened, the parent fragment would inflate the layout
             which contained a nested fragment. This is bad behavior. Since we couldn't
             keep track of the fragments lifecycle, the fragment we instantiated during
             inflation would cause an inflate exception if and when we toggled the search
             view within the current context.
             Mitigate the crash by programmatically replacing the fragment after instantiating it once.
                    E  FATAL EXCEPTION: main
                    E  Process:, PID: 12372
                    E  android.view.InflateException: Binary XML file line #21: Error inflating class fragment
                    E      at android.view.LayoutInflater.createViewFromTag(
                    E      at android.view.LayoutInflater.rInflate(
                    E      at android.view.LayoutInflater.inflate(
                    E  Caused by: java.lang.IllegalArgumentException: Binary XML file line #21: Duplicate id 0x7f1001a2, tag nul
                       l, or parent id 0xffffffff with another fragment for
                    E      at
                    E      at android.view.LayoutInflater$FactoryMerger.onCreateView(
                    E      at android.view.LayoutInflater.createViewFromTag(
                    E      ... 25 more
          Change-Id: I6820ad7d35814f150eedf91140e21c0b8e23322b
      Author: Steve Kondik <>
      Date:   Mon Mar 9 16:05:32 2015 +0000
          settings: Use consistent headers for Privacy Guard
           * Show "Privacy Guard" instead of "App ops" in advanced settings
          Change-Id: I98107ba3ad94ba22bbd4dc9e92ea97a36f664ab8
      Author: Matt Garnes <>
      Date:   Fri May 15 15:55:44 2015 -0700
          Do not allow privacy guard for core system apps.
          Hide any applications that have the system UID as well as System UI from
          privacy guard. Enabling this on these core apps can have disastrous
          consequences, since many privacy guard authorization requests will queue
          up. This can cause the system process or System UI to be killed when
          they ANR while they wait at the end of a very long queue for the user to authorize them.
          By using privacy guard, you are trusting that the system will control
          and protect these permissions in the first place; there is no need to protect
          the system from itself.
          Change-Id: I478d6a6783a4c06fa7ad01a96c413290b232636c
      Author: Gianmarco Reverberi <>
      Date:   Tue Jun 2 19:30:45 2015 +0200
          PrivacyGuard: restore ListView position on resume, for real
          ListView gets reloaded each time the activity is resumed,
          so we have to restore the position after LoadManager finishes its job
          Change-Id: I8f05027aaf8ef85481ecb578efa2c2d2c6c6256d
      Author: Roman Birg <>
      Date:   Wed Sep 9 12:05:38 2015 -0700
          Settings: persist privacy guard dialogs across rotates
          Ref: CYNGNOS-933
          Change-Id: I778ff0152dd4a1c0152dca68e82cc89a41f88508
      Signed-off-by: default avatarRoman Birg <>
      Author: Steve Kondik <>
      Date:   Mon Sep 12 01:29:07 2016 -0700
          settings: Fix viewpager tabs not showing on AppOpsSummary
          Change-Id: I311c61559177ea733809f510f017ef613915f3d4
      Author: Gabriele M <>
      Date:   Wed Mar 15 22:05:46 2017 +0100
          AppOpsDetails: Check app permissions safely
          checkOp() throws a SecurityException when the application is not
          allowed to perform the given operation. Use  checkOpNoThrow() so
          that no exception is thrown. If the operation is not permitted,
          AppOpsManager.MODE_ERRORED will be returned and AppOpsDetails will
          treat it as MODE_IGNORED (i.e. don't allow).
          Change-Id: Ic3177a24ae52438594e65cd19e29a86c1ee299e8
      Author: Gabriele M <>
      Date: Sun Aug 6 13:08:51 2017 +0200
          Settings: Always show Privacy Guard permissions
          Enabling Privacy Guard for an app simply means switching a set of
          operations to MODE_ASK, independently on whether the application
          actually declared those ops (though a permission) or not. The
          framework keeps track only of the ops with a non-default value. As
          consequence, all the ops set by Privacy Guard that aren't declared
          by the app through its manifest are effectively lost when set to
          their default value and the settings won't show them.
          Never hide the Privacy Guard ops to provide a consistent UI.
          Change-Id: Iafcf058f5e2074982bf45f8c82ef8d027b9358f0
      Author: Gabriele M <>
      Date: Fri Sep 1 01:46:30 2017 +0200
          AppOpsState: Hide undeclared Privacy Guard OPs
          Since commit f02e0409
          ("Settings: Always show Privacy Guard permissions"), all the Privacy
          Guard OPs are shown independently on whether the application declared
          the associated permission or not. This solved the UI inconsistencies,
          but it's still confusing. Instead of always showing these special OPs,
          hide them, unless unless the application declared the associated
          permission or the OP doesn't have an associated permission.
          Note: if a Privacy Guard OP is not associated to any permission it
          will appear for every application with Privacy Guard enabled,
          bringing back the UI inconsistency solved with f02e0409.
          This doesn't happen with the current set of OPs.
          Change-Id: Iddc92b3547187e24140a328d50c5ac09bc1a7ccf
      Author: Danny Baumann <>
      Date:   Wed Feb 8 13:44:07 2017 +0100
          Improve layout of app ops details screen.
          Change-Id: I3ee30280f6542f2c01ba39c2f821094942b9e943
      Author: Michael W <>
      Date:   Fri Aug 11 15:47:05 2017 +0200
          AppOps: Redesign
          * To match other settings, overhaul the current view by
            converting it to a PreferenceScreen
          * While on it, fix bug with icons not shown if previous perm
            would have the same icon
          * Add some additional icons for permissions
          Change-Id: I38fc01e02cd1711ee943717c42af4f40c51d94a6
      Author: Luca Stefani <>
      Date:   Sun Aug 13 21:05:23 2017 +0200
          AppOps: Switch to an HashMap
          * Remove now unneeded getDrawableForOp function
          Change-Id: Iefefd55797bee1ceebfcf7ab18bebaa9b56bdd19
      Author: Gabriele M <>
      Date:   Thu Aug 31 22:41:06 2017 +0200
          AppOpsDetails: Generate correct summary when changing list prefs
          MODE_ENTRIES are strings of numbers, not names.
          Change-Id: I749a808951d5359e92b6974714874f705c373342
      Author: Michael W <>
      Date:   Sat Nov 11 17:21:50 2017 +0100
          AppOps: Add icon for "Toggle cellular data"
          Change-Id: I2b2d7bcbf2eb97d5a97df3455daea32384333566
      Author: Michael W <>
      Date:   Sun Nov 12 15:03:25 2017 +0100
          AppOps: Add info if app doesn't request any blockable permissions
          * Instead of only showing a blank page, actually show an info
          * This makes the screen look like it's actually blank on
          Change-Id: Ibae3ada4ecf8559c3000028f80ff5cf054410699
      Author: Michael W <>
      Date:   Sun Nov 19 12:06:27 2017 +0100
          AppOps: Refactor code
          * Functions should be short
          * Gain readability by moving around code
          Change-Id: I227aaa8e0b259555fb74d9b52c3a69d72638ef10
      Author: Michael W <>
      Date:   Thu Jan 11 22:36:00 2018 +0100
          AppOps: Add missing icons for alarm, bluetooth, stats, toast
          * Obviously missing, so adding them
          Change-Id: Ic36991db468fb2c2888c243971ac381d08ff60ff
      Author: AdrianDC <>
      Date:   Fri Jan 1 15:21:52 2016 +0100
          Settings: Apps started on boot shortcut in memory settings
           * Implement an intent extra to retrieve a tab target
           * Use a tab identifer from apps_ops_categories_cm
              to make sure the selection is correct or ignored
          Change-Id: I79d963ecbadc624dc45a398387a348691318b6be
      Signed-off-by: default avatarAdrianDC <>
      Author: Adrian DC <>
      Date:   Sat Aug 6 00:18:09 2016 +0200
          Settings: Show only one tab on PrivacyGuard direct access
           * Allow an intent request to a specific tab to be isolated,
              giving access only to the expected settings
           * "Apps started on boot" opens only Bootup
           * "Manage root accesses" opens only Root Access
           * Related to the following commits
          Change-Id: I5a720fe2a8abe5fdf1a1b91c054d8b3a57d6cc5d
      Signed-off-by: default avatarAdrian DC <>
      Author: Danny Baumann <>
      Date:   Mon Sep 5 09:14:26 2016 +0200
          Fix AIOOBE with root access disabled.
          Page title and template array lengths got out of sync if root access was
          disabled. Make sure this doesn't happen anymore by combining titles and
          templates into a single list prior to filtering.
          Change-Id: I069db9b9925887d6d80592eabe93b33abeaf0fe8
          JIRA: CYAN-8028
      Author: Michael W <>
      Date:   Tue Jan 9 23:46:00 2018 +0100
          AppOpsDetails: Display all missing ops
          * Add a new template for the remaining ops
          * Set the visibility of all ops to true
          * Inspired by Gabriele M <>
          Change-Id: I4f160a995a294dfbfd3013bbd29c0a9c8766ff24
      Change-Id: I407a2a9690fa912e8e232883e74a0d6a0d8d80aa
  2. 01 Aug, 2016 1 commit
  3. 08 Jul, 2016 1 commit
  4. 06 Jul, 2016 1 commit
  5. 22 Jun, 2016 1 commit
    • Justin Klaassen's avatar
      Cleanup proguard.flags · 478b5a8c
      Justin Klaassen authored
      Bug: 29574900
      Proguard flags no longer specify specific packages or classes which
      means they should not need to be updated everytime a new package or
      class is added.
      Change-Id: I2c2b501e904133d517d2467bd9f47c9577d9b446
  6. 19 Apr, 2016 1 commit
    • Andrew Sapperstein's avatar
      Create feature factory interface & initial impl. · 13792886
      Andrew Sapperstein authored
      Creates the abstract class FeatureFactory and an AOSP implementation
      called Factory.
      Also creates a static library for generating logtags since we need to use the code generated
      by the logtags in multiple packages now.
      BUG: 27751878
      Change-Id: I88d826333642d3efc252134c4facb7b1ca014f32
      (cherry picked from commit 867bb9c0)
  7. 13 Apr, 2016 1 commit
    • Andrew Sapperstein's avatar
      Create feature factory interface & initial impl. · 867bb9c0
      Andrew Sapperstein authored
      Creates the abstract class FeatureFactory and an AOSP implementation
      called Factory.
      Also creates a static library for generating logtags since we need to use the code generated
      by the logtags in multiple packages now.
      BUG: 27751878
      Change-Id: I88d826333642d3efc252134c4facb7b1ca014f32
  8. 01 Apr, 2016 1 commit
  9. 09 Feb, 2016 1 commit
    • Udam Saini's avatar
      Reworks lock screen flows. · 8ef4c620
      Udam Saini authored
      This also adds frp warning dialogs in case the user skips lock
      screen setup initially.
      Change-Id: I732b6a806e139fb6c1c1b334b8d1608c229f217c
  10. 25 Jan, 2016 1 commit
  11. 09 Mar, 2015 1 commit
  12. 18 May, 2014 1 commit
    • John Spurlock's avatar
      VolumeZen: Sound & Notifications settings. · 81bef1d7
      John Spurlock authored
      - Add sound settings under the newly combined Sound & Notifications
        top-level settings page.
      - New slider preferences for setting audio stream volumes.
      - Migrate checkbox prefs to switch prefs.
      - New settings subpage for touch sounds.
      - New settings subpage for "Showing notifications"
      - New setting pref for displaying intercepted notifications in zen mode.
      - New tri-state lockscreen notifications pref.
      - Add priority + sensitivity options to app notification dialog.
      - Remove badges on app notifications row, migrate to subtitle text.
      - Migrate strings to common spot in strings.xml
      - Remove heads up setting.
      - Remove tweaks category (unused).
      - Clean up notification settings, separate out into a code section per option.
      - Clean up _settings.xml files, prefix each pref with option name.
      - Add appropriate indexing data to each settings page.
      Depends on f/b change Ic30aa575ae07650cee62c8c1d83b6bc69395cf0d
      Change-Id: If700385a7d0057f6c4c4bcf6e648dcf88b8ebff2
  13. 07 Aug, 2013 1 commit
  14. 22 Feb, 2013 1 commit
  15. 27 Mar, 2012 1 commit
    • Amith Yamasani's avatar
      User management screens · b810a0dd
      Amith Yamasani authored
      Customized Settings for restricted users
      - Only some top-level settings panels available
      User management
      - Primary user can add and remove users
      - User details screen to change name and list of enabled apps
      Change-Id: Ia6beb991b427197a4ec2724ca3c9222073f6cf7d
  16. 07 Dec, 2011 1 commit
  17. 30 Jun, 2011 1 commit
  18. 01 Dec, 2010 1 commit
  19. 03 Nov, 2010 1 commit
  20. 01 Nov, 2010 1 commit
  21. 30 Oct, 2010 1 commit
  22. 28 Oct, 2010 1 commit
  23. 13 Sep, 2010 1 commit
    • Daisuke Miyakawa's avatar
      Fragmentize BluetoothSettings. · 6ebf8619
      Daisuke Miyakawa authored
      Add, so that the settings won't use
      its implementation around Activity#onUserLeaveHint().
      Also fragmentize bluetooth tethering screen.
      Change-Id: Id06ae3161fbdb5854ddb7a257f464fb16ea9b089
  24. 01 Sep, 2010 1 commit
    • Daisuke Miyakawa's avatar
      Add Wifi Setup screen for Setup Wizard with XL size screen. · d3669928
      Daisuke Miyakawa authored
      * Add WifiSettingsForSetupWizardXL as a new Activity
      The activity has WifiSettings fragment in it. It also contains
      several buttons, texts around the fragment.
      * Making configuration UI part of Preference list.
      In Wifi Setup for Setup Wizard XL, WifiSettings fragment lets
      a UI for configuring access points shown inside a
      PregerenceCategory object, while it has been shown as Dialog.
      To achieve this action, WifiDialog is decomposed into two parts:
      - WifiConfigUiBase (Mainly UI part)
      - WifiConfigController (Mainly Wifi controller part)
      All codes for wifi configuration in WifiDialog is now in
      WifiConfigController, which is reused from
      * Misc stuff
      - Remove AccessPoint#compareTo(). Instead,
        AccessPoint.AccessPointComparater should be used when needed.
      Change-Id: I520d690d3301837d32f91dad54a973a379ce1989
  25. 30 Aug, 2010 1 commit
    • Daisuke Miyakawa's avatar
      Make LocalePicker Fragment. · 0cc35e44
      Daisuke Miyakawa authored
      The logic calling selectFirst() is removed as
      - There's no comment why it is needed.
      - Actually SetupWizard gets stack as that forces users to see
        WirelessSettings in SetupWizard.
      The other changes:
      - Move back LocalePickerFragment to LocalePicker.
      - Make <activity> for LocalePicker in AndroidManifest <activity-alias>
      - Add a short comment about how getComponent(), which should be a key
        for understanding how top-level settings work.
      - Modify LanguageSettings so that it corectly points LocalePicker as
        a fragment.
      Change-Id: I78d356e40af896ba1aab72fba12c90467371c7b0
  26. 25 Aug, 2010 1 commit
    • Daisuke Miyakawa's avatar
      Fragmentize WifiSettings. · 9c8bde57
      Daisuke Miyakawa authored
      - Add button bar feature toward SettingsPreferenceFragment,
        which has existed in PreferenceActivity and has been used
        (probably) only by Settings app.
      - super.onActivityCreated() is not called at the beggining of
        WifiSettings#onActivityCreated(), the parent method assumes
        the child should have prepared PreferenceScreen, while
        WifiSettings cannot do until the parent Activity is ready.
      - Call SetHasOptionMenu() should be called AFTER the parent
        Activity is ready. It is not documented, so it would be better
        to file another bug.
      - Add exception to proguard...
      Change-Id: Iebd27f0cb0abdbee9b4b1cc9b00f4bf127f7815d
  27. 19 Aug, 2010 1 commit
  28. 13 Aug, 2010 1 commit