Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix for home/menu unlock to work with long-press hardware key actions #3

Merged
merged 1 commit into from
Nov 5, 2012
Merged

Conversation

corcoran
Copy link

@corcoran corcoran commented Nov 4, 2012

With home/menu unlock enabled, long-press keyup triggers the unlock. This also fixes the new issue where the keyup for home wake was triggering the unlock unintentionally, bypassing the lockscreen with just 1 home press.

Change-Id: Ic41fc45fa606ad3b11e5545d40ff3e94a698e48b

With home/menu unlock enabled, long-press keyup triggers the unlock.  This also fixes the new issue where the keyup for home wake was triggering the unlock unintentionally, bypassing the lockscreen with just 1 home press.

Change-Id: Ic41fc45fa606ad3b11e5545d40ff3e94a698e48b
krarvind added a commit that referenced this pull request Nov 5, 2012
Fix for home/menu unlock to work with long-press hardware key actions
@krarvind krarvind merged commit fd665e0 into SlimRoms:jb Nov 5, 2012
slimgerrit pushed a commit that referenced this pull request Nov 29, 2012
When the app_process is shutting down the main thread will close the
binder fd while pool threads are executing an ioctl (in
IPCThreadState::stopProcess called by AppRuntime::onStarted in
app_main.c).

The binder driver will then return all pending calls in ioctl
without any error and with a command. One of the threads gets a
BR_SPAWN_LOOPER which will create a new thread (the other thread
gets a BR_NOOP). This new thread then calls
vm->AttachCurrentThread. Usually this results in a log entry with
"AndroidRuntime: NOTE: attach of thread 'Binder Thread #3' failed",
but sometimes it also causes a SIGSEGV. This depends on the timing
between the new thread an the main thread that calls DestroyJavaVM
(in AndroidRuntime::start).

If IPCThreadState.cpp is compiled with "#define LOG_NDEBUG 0" the
pool thread will loop and hit the
ALOG_ASSERT(mProcess->mDriverFD >= 0) in
IPCThreadState::talkWithDriver.

Crashes like this has been seen when running the am command and
other commands that use the app_process.

This fix makes sure that any command that is received when the driver
fd is closed are ignored and IPCThreadState::talkWithDriver instead
returns an error which will cause the pool thread to exit and detach
itself from the vm. A check to avoid calling ioctl to a fd with -1
was also added in IPCThreadState::threadDestructor.

Another solution might be to change the binder driver so that it
returns an error when the fd is closed (or atleast not a
BR_SPAWN_LOOPER command). It might also be possible to call exit(0)
which is done when System.exit(0) is called from java.

Change-Id: I3d1f0ff64896c44be2a5994b3a90f7a06d27f429
slimgerrit pushed a commit that referenced this pull request Nov 29, 2012
This change fixes the following bug:

1. Playing a movie (especially Full HD) by Gallery.
2. Press the Home button.
3. Press the Gallery shortcut on Launcher.
4. Very quickly repeat #2 and #3 several times.

Result: "Sorry, this video cannot be played" alert is shown.

Change-Id: Idf9d222ca1e0bb90bfe06f6dc807dfbc71b6415b
Signed-off-by: Yuriy Zabroda <yuriy.zabroda@ti.com>
slimgerrit pushed a commit that referenced this pull request Oct 31, 2013
Also:
 * add a second history section that logs
 * log mesg as text instead of number
 * dump Sync Status as a table

 Sample log:
Recent Sync History
  #1  : 2012-10-11 15:06:11     USER    0.4s            aagmtest1@gmail.com/com.google u0  com.android.calendar                                  com.google.android.calendar
  #2  : 2012-10-11 15:06:11     USER    0.1s            aagmtest1@gmail.com/com.google u0  subscribedfeeds                                       android.uid.system:1000
    mesg=parse-error
  #3  : 2012-10-11 15:06:11     USER    0.0s            aagmtest1@gmail.com/com.google u0  com.google.android.apps.uploader.PicasaUploadProvider android.uid.system:1000
  #4  : 2012-10-11 15:06:10     USER    0.1s            aagmtest1@gmail.com/com.google u0  com.google.android.gms.plus.action                    android.uid.system:1000

Recent Sync History Extras
  #1  : 2012-10-11 15:06:11     USER   aagmtest1@gmail.com/com.google u0  com.android.calendar                                  Bundle[{feed=aagmtest1@gmail.com, force=true, ignore_settings=true, ignore_backoff=true}]
  #2  : 2012-10-11 15:06:11     USER   aagmtest1@gmail.com/com.google u0  subscribedfeeds                                       Bundle[{ignore_backoff=true, force=true, ignore_settings=true}]
  #3  : 2012-10-11 15:06:11     USER   aagmtest1@gmail.com/com.google u0  com.google.android.apps.uploader.PicasaUploadProvider Bundle[{ignore_backoff=true, force=true, ignore_settings=true}]
  #4  : 2012-10-11 15:06:10     USER   aagmtest1@gmail.com/com.google u0  com.google.android.gms.plus.action                    Bundle[{ignore_backoff=true, force=true, ignore_settings=true}]

Sync Status
Account aagmtest1@gmail.com u0 com.google
=======================================================================
Authority                                           Syncable  Enabled  Delay  Loc  Poll  Per  Serv  User  Tot  Time  Last Sync            Periodic
-------------------------------------------------------------------------------------------------------------------------------------------------------------
com.google.android.apps.currents                    1         true            0    2     1    2     1     6    0:35  PERIODIC SUCCESS     86400
                                                                                                                     2012-10-12 14:59:40  2012-10-13 14:58:13
com.google.android.music.MusicContent               1         true            0    0     1    2     1     4    0:09  PERIODIC SUCCESS     86400
                                                                                                                     2012-10-12 14:59:18  2012-10-13 14:58:13
com.google.android.gms.plus.action                  1         true            0    0     1    1     1     3    0:00  PERIODIC SUCCESS     86400
                                                                                                                     2012-10-12 14:59:15  2012-10-13 14:58:13
com.google.android.apps.magazines                   1         true            0    1     1    2     1     5    0:14  PERIODIC SUCCESS     86400
                                                                                                                     2012-10-12 14:59:00  2012-10-13 14:58:13

Change-Id: Iffeb825e4b4f6217940a39b0dd71e06856f08f3f
slimgerrit pushed a commit that referenced this pull request Nov 4, 2014
Bug: 17439581
Change-Id: Ic8cb7f32200b541ecc8fa36ad2517975cec0b545
slimgerrit pushed a commit that referenced this pull request Nov 4, 2014
letmedanz added a commit to letmedanz2/frameworks_base that referenced this pull request Mar 14, 2015
- Patch SlimRoms#1: Remove Slim HeadsUp customizations

  **Patchset by @CPA-Poke <brock.shahan@cox.net> **

- Patch SlimRoms#2: HeadsUp Options (1/2)

  ** Patchset by @LinuxXxxX <io.nolinuxnoparty@gmail.com> **

  * Includes:
     * Base: forward port Headsup options (1/2)
     * Global on/off
     * Blacklist and Do not disturb
     * HeadsUp: fix settings not being applied after reboot
     * blacklist and dnd setting were not being applied at boot
     * clean up the SettingsObserver
     * Let user choose if headsup swype action hides or dimisses notification

- Patch SlimRoms#3: Frameworks: Actually start to use HEADS_UP_REQUESTED extra

  ** Patchset by @kufikugel **

- Patch SlimRoms#4: HeadsUp: add timeout option (1/2)

  ** Patchset by @kufikugel **

- Patch SlimRoms#5: HeadsUp: check if headsup is attached and not null when adding view

  ** Patchset by @bigbrother1984 <carlosavignano@aospa.co> **

- Patch SlimRoms#6: [Heads up swipe] Disable by default

  ** Patchset by @cristianomatos <cristianobmatos@gmail.com> **

- Patch SlimRoms#7: [Heads up] Add touch outside event

  ** Patchset by @bigbrother1984 <carlosavignano@aospa.co> **

- Patch SlimRoms#8: [Heads up] Touch outside to hide (1/2)

  ** Patchset by @cristianomatos <cristianobmatos@gmail.com> **

- Patch SlimRoms#9: HeadsUp: fix headsup for incoming calls

  ** Patchset by @Altaf-Mahdi **

- Patch SlimRoms#10: [Heads up] Don't show heads up while IME is showing

  ** Patchset by @bigbrother1984 <carlosavignano@aospa.co> **

- Patch SlimRoms#11: HeadsUp: Don't reset Y coordinate and improve edge
  swipe readability

  ** Patchset by @bigbrother1984 <carlosavignano@aospa.co> **

- Patch SlimRoms#12: Fix heads up dismiss not working

  ** Patchset by @cristianomatos <cristianobmatos@gmail.com> **

Change-Id: Id0e903d1f8c3040d0724dc59568332e99f346b84

Conflicts:
	core/java/android/provider/Settings.java
	core/java/com/android/internal/statusbar/IStatusBar.aidl
	core/java/com/android/internal/statusbar/IStatusBarService.aidl
	core/res/res/values/liquid_strings.xml
	packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java
	packages/SystemUI/AndroidManifest.xml
	packages/SystemUI/res/layout/notification_guts.xml
	packages/SystemUI/res/values/config.xml
	packages/SystemUI/res/values/liquid_strings.xml
	packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java
	packages/SystemUI/src/com/android/systemui/statusbar/CommandQueue.java
	packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
	services/core/java/com/android/server/am/ActivityStackSupervisor.java
	services/core/java/com/android/server/statusbar/StatusBarManagerService.java

Conflicts:
	packages/SystemUI/res/values/config.xml
	services/core/java/com/android/server/am/ActivityStackSupervisor.java
kagwind pushed a commit to kagwind/frameworks_base that referenced this pull request Mar 21, 2015
- Patch SlimRoms#1: Remove Slim HeadsUp customizations

  **Patchset by @CPA-Poke <brock.shahan@cox.net> **

- Patch SlimRoms#2: HeadsUp Options (1/2)

  ** Patchset by @LinuxXxxX <io.nolinuxnoparty@gmail.com> **

  * Includes:
     * Base: forward port Headsup options (1/2)
     * Global on/off
     * Blacklist and Do not disturb
     * HeadsUp: fix settings not being applied after reboot
     * blacklist and dnd setting were not being applied at boot
     * clean up the SettingsObserver
     * Let user choose if headsup swype action hides or dimisses notification

- Patch SlimRoms#3: Frameworks: Actually start to use HEADS_UP_REQUESTED extra

  ** Patchset by @kufikugel **

- Patch SlimRoms#4: HeadsUp: add timeout option (1/2)

  ** Patchset by @kufikugel **

- Patch SlimRoms#5: HeadsUp: check if headsup is attached and not null when adding view

  ** Patchset by @bigbrother1984 <carlosavignano@aospa.co> **

- Patch SlimRoms#6: [Heads up swipe] Disable by default

  ** Patchset by @cristianomatos <cristianobmatos@gmail.com> **

- Patch SlimRoms#7: [Heads up] Add touch outside event

  ** Patchset by @bigbrother1984 <carlosavignano@aospa.co> **

- Patch SlimRoms#8: [Heads up] Touch outside to hide (1/2)

  ** Patchset by @cristianomatos <cristianobmatos@gmail.com> **

- Patch SlimRoms#9: HeadsUp: fix headsup for incoming calls

  ** Patchset by @Altaf-Mahdi **

- Patch SlimRoms#10: [Heads up] Don't show heads up while IME is showing

  ** Patchset by @bigbrother1984 <carlosavignano@aospa.co> **

- Patch SlimRoms#11: HeadsUp: Don't reset Y coordinate and improve edge
  swipe readability

  ** Patchset by @bigbrother1984 <carlosavignano@aospa.co> **

- Patch SlimRoms#12: Fix heads up dismiss not working

  ** Patchset by @cristianomatos <cristianobmatos@gmail.com> **

Change-Id: Id0e903d1f8c3040d0724dc59568332e99f346b84

Conflicts:
	core/java/android/provider/Settings.java
	core/java/com/android/internal/statusbar/IStatusBar.aidl
	core/java/com/android/internal/statusbar/IStatusBarService.aidl
	core/res/res/values/liquid_strings.xml
	packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java
	packages/SystemUI/AndroidManifest.xml
	packages/SystemUI/res/layout/notification_guts.xml
	packages/SystemUI/res/values/config.xml
	packages/SystemUI/res/values/liquid_strings.xml
	packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java
	packages/SystemUI/src/com/android/systemui/statusbar/CommandQueue.java
	packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
	services/core/java/com/android/server/am/ActivityStackSupervisor.java
	services/core/java/com/android/server/statusbar/StatusBarManagerService.java

Conflicts:
	packages/SystemUI/res/values/config.xml
	services/core/java/com/android/server/am/ActivityStackSupervisor.java
Flinny pushed a commit that referenced this pull request Oct 26, 2019
* commit 'f009e3583f2843a463d75f06675ef18c398b0efd':
  Fix blank lockscreen #3
Flinny pushed a commit that referenced this pull request Oct 26, 2019
* commit 'a359df01e012b194870d322fb1c16a6436d79f89':
  Fix blank lockscreen #3
Flinny pushed a commit that referenced this pull request Oct 26, 2019
…nto lmp-dev

* commit '85701394472bcc3c4c93e0d2780cb46047a9f712':
  Fix blank lockscreen #3
Flinny pushed a commit that referenced this pull request Oct 26, 2019
…screen #3" into lmp-dev

* commit '5c9f0987fce29a78f79429947c00b14f5a8b4504':
  Fix blank lockscreen #3
Flinny pushed a commit that referenced this pull request Oct 26, 2019
Change-Id: Ie11f0834bf55ae979bff78f249221afd553bfd8b
Flinny pushed a commit that referenced this pull request Oct 26, 2019
Change from the previous attempt:
- Fixed the helper class.  The original version had a few bugs.
- Bundle.readFromParcel() now handles a Parcel with a read-write helper
properly.

** Comparison **
The following charts are the actual measurement with and without the fix,
using "dumpsys system".
- The red bar is "total private dirty".
- The X axsis is time since boot.

Without fix:
- #1 First boot:
-- https://docs.google.com/spreadsheets/d/1CbmU8cQQQw7n7tyqbZi3beRHNuzqcmJgdvzDpi40Q1I/edit#gid=1971317391
-- Private dirty stabilizes at ~16.8M.
-- Loading system packages took 1.8 seconds.

- #2 Second boot:
-- https://docs.google.com/spreadsheets/d/1CbmU8cQQQw7n7tyqbZi3beRHNuzqcmJgdvzDpi40Q1I/edit#gid=982210726
-- Private dirty stabilizes at ~17.5M.
-- Loading system packages took 0.5 seconds.

With fix:
- #3 First boot:
-- https://docs.google.com/spreadsheets/d/1R6lL0AnAp93HnrqWujJFNgOjj6wvGicgDlbDAevbc3g/edit#gid=791764875
-- Private dirty stabilizes at around the same level as #1.
-- Loading system packages took 1.9 seconds.

- #4 Second boot:
-- https://docs.google.com/spreadsheets/d/1CbmU8cQQQw7n7tyqbZi3beRHNuzqcmJgdvzDpi40Q1I/edit#gid=1820894299
-- Private dirty stabilizes at around the same level as #1.
-- Loading system packages took 0.7 seconds.

Package manager start up time with and without the fix:
- (Ignored ones that are too fast; probably the thermal throttling didn't kick in.)
- https://docs.google.com/spreadsheets/d/1CbmU8cQQQw7n7tyqbZi3beRHNuzqcmJgdvzDpi40Q1I/edit#gid=499396796
- Before: 3.5 seconds (average of 5 reboots)
- After: 3.6 seconds (average of 5 reboots)

Package scan speed comparison:
- With the fix, first boot.
08-03 08:49:56.851  1000   779   779 I PackageManager: Finished scanning system apps. Time: 2133 ms, packageCount: 143 , timePerPackage: 14 , cached: 0
08-03 08:49:56.971  1000   779   779 I PackageManager: Finished scanning non-system apps. Time: 121 ms, packageCount: 11 , timePerPackage: 11 , cached: 0

- With the fix, second boot.
08-03 08:53:29.387  1000   779   779 I PackageManager: Finished scanning system apps. Time: 484 ms, packageCount: 143 , timePerPackage: 3 , cached: 143
08-03 08:53:29.424  1000   779   779 I PackageManager: Finished scanning non-system apps. Time: 37 ms, packageCount: 11 , timePerPackage: 3 , cached: 11

** Conclusion **
- This CL wil slightly slow down the boot time (0.2 seconds on a thermal-throttled bullhead), but
the system server's ram consumption will go down to the no-cache level.

- Using the package cache is still faster than not using it.

Test: build, boot, reboot, adb-install, reboot
Test: bit FrameworksCoreTests:android.content.pm.PackageParserTest
Test: bit FrameworksServicesTests:com.android.server.pm.PackageParserTest
Test: cts-tradefed run cts-dev --skip-device-info --skip-preconditions --skip-system-status-check com.android.compatibility.common.tradefed.targetprep.NetworkConnectivityChecker -a armeabi-v7a -l INFO -m CtsOsTestCases -t android.os.cts.BundleTest

Bug: 64112468
Change-Id: I30691a032cb1dd1c7f6c1966a096c2f0d07a09cb
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants