- Apr 09, 2024
-
-
Change-Id: Iaaece0037160df9f659a1db65a7020510dbed0b0 Signed-off-by:
Pranav Vashi <neobuddy89@gmail.com>
-
We could want to stop the recording without expanding the notification panel and show sensitive info. Long pressing on the red dot moves it to the opposite side, in case the user wants not to cover specific elements on the screen. Add also a low quality option that still gives a good recording reducing a lot the final file size (useful when sharing the screenrecord on data connections). old commits ref: https://github.com/ezio84/abc_frameworks_base/commit/6092d9ca8b0949d64c1b87d6cd53d66daf002e14 https://github.com/ezio84/abc_frameworks_base/commit/b50c7caf8b46c731093b11f5647028a23346f937 https://github.com/ezio84/abc_frameworks_base/commit/91c00e8fb70cb17b8658678bf476452f96cd44d1 Change-Id: If413241c3fa533650690cf3b7df5c05fb2f8c8ed
-
Nevertheless we have an option to limit the recording by frame rate, but we still can't limit it by resolution. It's not particularly needed for the devices of today which are enough powerful and can encode/play any profile level, but there are still many old devices for which the profile level can make a big difference. Traditionally the device declares the high quality multimedia profiles for video encoding (editing, recording video via camera ecc.), but these profiles are also used for screen recording. And here comes the pitfall for weak devices: screen recording is a video encoding process + highload user tasks on foreground and background, all in total is too much for an old device. The recorded video is "laggy", because the frames are simply skipped to the detriment of system smoothness. That's why some devices will need to limit AVC codec profile level for screen recorder only, as it doesn't make sense to do it globally, because it will also affect camera and video editing. Test: record the screen using the closest profile level to the display capabilities (resolution@frame rate). Check if video max. resolution and frame rate match the selected profile level constraints [1]. In case the profile level is the right one, the quality and fluidity of the video won't be in any way different from what you normally see on your display and will be playable anywhere, including the device that recorded it. [1] https://en.wikipedia.org/wiki/Advanced_Video_Coding#Levels [neobuddy89: Added default config to 4.2 and simplified] Change-Id: I918ee8f95124a34bda80feb57494b49ed449bf7b
-
Some devices seem to have problems when running the screen recorder at native resolution @ max fps (I'm looking at you surya). The symptoms may include severe lagging in the recording or stuff like crashes when stopping in a landscape orientation. Allow limiting the recorder fps to fix these issues. Test: record screen on surya with config_screenRecorderMaxFramerate==90 while screen is running @ 120Hz, observe a smooth video. Stop the recording while in full screen landscape youtube video, observe no crash Change-Id: I361c7ae4bf74f2dd67b86e960f8d2d6ef63f5b8f
-
Dhina17 authored
Change-Id: I671990dc71ff7117fd3e407277e276ad48c1dc37
-
* maximum_capacity * design_capacity Change-Id: Idfa9207cc8bd35469876f3094f3bc948741c94bf Signed-off-by:
Jyotiraditya Panda <jyotiraditya@aospa.co> Signed-off-by:
Adithya R <gh0strider.2k18.reborn@gmail.com>
-
Dhina17 authored
Change-Id: Ib9c1530506572e2a16f29bb340d1ee93c391a961
-
Dhina17 authored
Change-Id: I1ea402a5de6c5519624abc13b49f2cff3d578747
-
Dhina17 authored
Change-Id: Ic0a5e2da57c7cf2b66c27040f6f6a246540008ed
-
Dhina17 authored
Change-Id: I48310a39968bd3a88a716b61c246e854e5aabf83
-
Dhina17 authored
Change-Id: Iea270d6c57cf38b4936f8b53b01ebc767048a2f8
-
Dhina17 authored
Change-Id: I10c77ac87251b44ec40a0b0f33189be4d73d3104
-
Dhina17 authored
Change-Id: If9786c6ce42f5616e84b6606af16c0038f33cdc7
-
Change-Id: If11b72c464279879eb7710fe57739e656846229d
-
Change-Id: Id50eb3b94090a21a91462f53c5663eef18ed0b17
-
Change-Id: Ie0b89264c46ddc008df7d478a1c934daea2c5e67
-
Change-Id: I3a036fc925d435298c7ccdc66d83076c2511e747
-
Change-Id: I3aa4de146e826fb09fc637101752f20ddca1e356
-
Dhina17 authored
Change-Id: Ie1199f7127748827552fe99d3900f3e750336d02
-
Change-Id: I7b11be4b7f4d52281495a8a1c605d7df4f16bf82
-
Change-Id: I07e6a6822e3fb2c370c77b7d83e4411218bafc78
-
Change-Id: I6a52b77f52694351840a877055dddbf67363a572
-
Dhina17 authored
Change-Id: Iecb65eaa9645d37658f2c246235c9cc63287af24
-
Change-Id: I0ba720a89b3d66b9786b36bffb25624dfe226a25
-
Change-Id: I7bbb229ea43ad8b955ccb9eaf3748822efb603ec
-
Change-Id: Ie74d2f8859c03b4acef6cb9f9d770195f87c21c0
-
Change-Id: Iec832bdcd235fe6bd96ac6dc31557133d50bc423
-
- Apr 07, 2024
-
-
Dhina17 authored
Android 14.0.0 Release 31 (AP1A.240405.002.A1) * tag 'android-14.0.0_r31' of https://android.googlesource.com/platform/frameworks/base: Gate SideFpsOverlayViewBinder and DeviceEntrySideFpsOverlayInteractor on device having SFPS Return correct result Fix security vulnerability that creates user with no restrictions when accountOptions are too long. isUserInLockDown can be true when there are other strong auth requirements Added limitations for attributions to handle invalid cases Stop marking apps as privileged if they are not signed properly. Don't store invalid pkgs when migrating filters Change-Id: I3faf5c2a0cff4fb2ac5693d7658d63b885e4d6ab
-
- Apr 05, 2024
- Apr 03, 2024
-
-
Expand app rows instead of opening a settings panel. Uses the per-app volume API. Partially inspired by the patch from Android 11 "SystemUI: Add app volume row to volume dialog" by cjybyjk <cjybyjk@zjnu.edu.cn> Change-Id: I3728dfc4f39a06b96abfd571abb8858426e70f45
-
The secondary accent in light mode does not have a good contrast to the previously white icon. Previously: https://imgur.com/a/XHpDHDJ Now: https://imgur.com/a/QCk3QwC Change-Id: Ib61ad4803e0e3c6cc9163408137c7a16742922b6 Signed-off-by:
Mohammad Hasan Keramat J <ikeramat@protonmail.com>
-
Dhina17 authored
AuthService registers the authenticators only once and then onAllAuthenticatorsRegistered() callbacks are invoked. The callbacks are removed as soon as it invoked. Our LMO face unlock authenticator isn't being registered via AuthService. When we register it, the onAllAuthenticatorsRegistered() callbacks aren't available at that time so our face unlock isn't being initialized properly and end up with bugs like "Face unlock isn't working after reboot". As a workaround, we don't invoke callbacks if it's first time (from AuthService). Instead we register our face unlock here on first time to make sure callbacks are being called only after our face unlock authenticator registration. If properties aren't empty, it's from hardware face sensor. so allow to invoke callbacks regardless of the first time. Change-Id: I26238a35f09d9cb398355d9467d44cd24b0e2525
-
- Apr 02, 2024
-
-
Author: Thecrazyskull <anaskarbila@gmail.com> Date: Tue Jan 17 10:56:39 2017 -0600 SystemUI: Enable NFC tile Change-Id: Ib21f927d336fcb5e460552786828b79551b235fa Author: inthewaves <inthewaves@pm.me> Date: Sun Sep 20 14:59:10 2020 -0700 have NfcTile get an NfcAdapter directly This changes the NfcTile to not be dependent on an NfcManager giving the NfcTile an NfcAdapter. The problem with NfcTile is that the NfcService doesn't start until the device is unlocked after a reboot, but NfcTile can be created and have its state updated before the device is unlocked. The state of NfcTile depends on an NfcAdapter. The tile gets an NfcAdapter from a call to NfcAdapter#getDefaultAdapter, which gets an adapter from an NfcManager via Context#getSystemService, and NfcManager tries to get an adapter in its constructor via NfcAdapter#getNfcAdapter. If this is done before unlock, NfcService isn't started, so the constructor of NfcManager fails to get an adapter, opting to just store null. This means that the NfcManager that's _cached_ by the NfcTile's application context holds a null NfcAdapter, so subsequent calls in NfcTile to get the NfcAdapter will keep returning null. We can just have NfcTile get the NfcAdapter directly via NfcAdapter#getNfcAdapter instead of relying on an NfcManager to call the same method for us to get its default adapter. We just have to make sure we use the application context for NfcAdapter#getNfcAdapter, as per the doc comments for getNfcAdapter. This means that there's no longer an NfcManager associated with the NfcTile's application context. It doesn't look like NfcManager does anything special with the NfcAdapter anyway. It seems to just be some middle man for NfcAdapters: * The NfcAdapter field in NfcManager is final, and it doesn't do anything else with it besides have a getter method for returning it. The NfcManager seems to be a way to force third-party apps that want to get an NfcAdapter to use the application context. * NfcAdapter#getNfcAdapter manages the caching of NfcAdapters by application context in a static HashMap. NfcManager doesn't manage caching; it just calls NfcAdapter#getNfcAdapter. Change-Id: Ifafc666568a001a60baf7c8c16782dca1ee4d011 Author: Michael W <baddaemon87@gmail.com> Date: Fri Jan 15 00:03:02 2021 +0100 NfcTile: Don't create an error when editing tiles Repro: * Make sure no NfcTile is in your expanded QS (not tested what happens if it's there) * Hit the Edit-button: Error in handleSetListeningInternal java.lang.IllegalArgumentException: Receiver not registered: com.android.systemui.qs.tiles.NfcTile$1@7c00b87 at android.app.LoadedApk.forgetReceiverDispatcher(LoadedApk.java:1434) at android.app.ContextImpl.unregisterReceiver(ContextImpl.java:1543) at android.content.ContextWrapper.unregisterReceiver(ContextWrapper.java:664) at com.android.systemui.qs.tiles.NfcTile.handleSetListening(NfcTile.java:64) at com.android.systemui.qs.tileimpl.QSTileImpl.handleSetListeningInternal(QSTileImpl.java:371) at com.android.systemui.qs.tileimpl.QSTileImpl.access$700(QSTileImpl.java:80) at com.android.systemui.qs.tileimpl.QSTileImpl$H.handleMessage(QSTileImpl.java:496) at android.os.Handler.dispatchMessage(Handler.java:107) at android.os.Looper.loop(Looper.java:214) at android.os.HandlerThread.run(HandlerThread.java:67) * Only register or unregister the receiver if we actually need to change registered-state * Same code is in AirPlaneModeToggle.java, presumably was also added to prevent unnecessary registering/unregistering Change-Id: I6cd8f9bffccb68596b736cc0a3a38e9c12b9c489 Change-Id: Ia06b923ee15e91a9c84a806d4c69755478df2063
-
- Mar 31, 2024