Commit Graph

677 Commits

Author SHA1 Message Date
Julian Winkler
6dfd0d1d4b use XDG-Portal to detect night mode
Get dark mode property directly from XDG portal instead of extracting it
from the GTK theme. Also we pass the value to GTK, which would normaly
be done by libadwaita.

This also has the advantage, that we can switch the theme at runtime.
but for now the change will only affect newly created Activities.
2024-11-01 23:23:58 +01:00
Julian Winkler
acdd3c88cc AssetManager: fix resource loading if APK path contains spaces
Spaces will get encoded to %20 by the ClassLoader. We need to decode
them again to get the original path.
2024-11-01 17:49:20 +01:00
Julian Winkler
8734a7ef2b Set Configuration.screenLayout depending on monitor geometry
With this configuration, NewPipe enables tablet mode on larger screens.
2024-10-31 20:34:26 +01:00
Julian Winkler
6068ac2eb8 View.setSystemUiVisibility(): implement fullscreen
For now we only allow fullscreen for maximized windows
2024-10-31 20:30:15 +01:00
Julian Winkler
0bec10bb26 disable decoration on mobile compositors by default
On mobile compositors like Phosh, the title bar will have no
buttons and is useless. Therefore it can be disabled by default.

This behaviour can still be overwritten using the
ATL_DISABLE_WINDOW_DECORATIONS environment variable.
2024-10-31 16:49:26 +01:00
Julian Winkler
b413f67932 implement ContentProvider.attachInfo() callback
This fixes a crash in NewPipes DownloadActivity
2024-10-31 16:41:46 +01:00
Mattéo Axelle
b528bad2fc Settings: add Global.getString 2024-10-31 13:18:38 +00:00
Mattéo Axelle
82801b4303 StrictMode: return new ThreadPolicy instead of null 2024-10-31 13:18:38 +00:00
Mattéo Axelle
f5674faa4a PackageManager: always grant com.google.android.c2dm.permission.SEND 2024-10-31 13:18:38 +00:00
Julian Winkler
6162868bd1 main-executable: handle empty string being passed to --uri
The XDG-portal escapes the strings when installing a .desktop file. This
causes --uri %u to be replaced with --uri '%u', which causes an empty
string to be passed when no URI is specified.
2024-10-31 12:57:20 +01:00
Daniel Panero
0efbee538a api-impl: Add DumpHeapProvider.java 2024-10-29 19:26:25 +00:00
Daniel Panero
2e2a3c889c ViewGroup: Fix margin layout 2024-10-28 18:03:29 +01:00
Julian Winkler
d79df985c7 Drawable: don't force aspect ratio 2024-10-23 16:38:01 +02:00
Julian Winkler
ade5e1f1ca Activity: set windowBackground on start
This overwrites the GTK window backgrounds and therefore makes theming
more consistent when GTK theme and Android theme doesn't match.
2024-10-23 16:35:58 +02:00
Julian Winkler
bcdf3eb3ce add missing null pointer check in MediaCodec.release()
When the MediaCodec failed to initialize, the native_codec pointer can
be null and releasing it would cause a SEGFAULT in native code.
2024-10-22 18:05:09 +02:00
Markuss Broks
5eb750b253 GLImpl: more implementations 2024-10-14 19:59:49 +03:00
Markuss Broks
b09aff6316 native_window: fix for Nvidia proprietary drivers 2024-10-14 19:59:49 +03:00
Markuss Broks
24fab49a1c api-impl: misc stubs 2024-10-14 19:59:38 +03:00
Julian Winkler
ab07fc11da EditText.setOnEditorActionListener(): disconnect old listener 2024-10-07 11:55:33 +02:00
Julian Winkler
3905184aee AssetManager.loadThemeAttributeValue(): don't return attributeId as resourceId
If the value has no resourceId, it should be resourceId=0 instead of
setting it to the attributeId.
2024-10-07 11:55:33 +02:00
Julian Winkler
d06b14933d delay Dialog.dismiss() by 10ms to work around NewPipe race condition 2024-10-07 11:55:33 +02:00
Julian Winkler
1f2cfebe4e add WindowManager.LayoutParams.alpha 2024-10-07 11:55:33 +02:00
Julian Winkler
0d5150083a remove spacial handling for Activity.recreateActivity()
This prevents the onStart() method being called twice for the toplevel
Activity.
2024-10-07 11:55:33 +02:00
Julian Winkler
a8ef5a533a implement passing a URI to open inside the application
Supported URI schemes will also be added to the .desktop file for --install

The URI is passed as named parameter --uri. This allows us to use unnamed parameters
for split APK apps in the future
2024-10-07 11:54:23 +02:00
Julian Winkler
1b46d728e3 implement Activity.onPostCreate() and onPostResume()
These are used by androidx to handle the Fragment lifecycle
2024-10-05 22:45:17 +02:00