summaryrefslogtreecommitdiffstats
path: root/app/src/main/AndroidManifest.xml
AgeCommit message (Collapse)AuthorFilesLines
25 hoursrefactor(app): take the app's own code off AppCompatDanilo M.1-4/+1
Activities extend FragmentActivity, window themes derive from the platform's Material theme and night mode uses UiModeManager. APSTheme colors the system bars, which DynamicColors did through the window theme. AppCompat stays in the APK through zxing. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
26 hoursbuild: raise minSdk to 31Danilo M.1-2/+1
The project targets GrapheneOS, which only runs current Android. Android 12 gives the platform night mode API and removes the fingerprint dialog path that needs AppCompat. Devices below it stay on 0.2.0. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2 daysfeat(app): move the autofill decryption prompts to ComposeDanilo M.1-0/+3
AutofillDecryptActivity shows the no keys dialog and the entry view's passphrase dialog in Compose over its transparent FLAG_SECURE window. The flow starts once, on the first window focus, instead of on every onStart: Android 14 evicts a screen lock prompt shown before the activity is on top, and a restart showed a second passphrase dialog. After a key import it restarts on the next focus. Dismissing the no keys dialog now finishes instead of leaving an invisible window. Rotation and resizing no longer recreate the activity; other recreations cancel the fill. The passphrase is now cached only after a successful screen lock prompt, as the entry view does: a passphrase typed after a cancelled or unavailable prompt was cached whenever the cache feature was on. PasswordDialog, its layout, dimens.xml and requireKeysExist lose their last user and go. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
3 daysfix(app): make the app lock work on Android 14Danilo M.1-1/+1
LaunchActivity showed the screen lock prompt from onCreate, before the activity was on top. Android 14's SystemUI evicts a prompt whose app is not the top activity ("Evicting client due to top activity is not ..."), so the prompt closed at once with ERROR_CANCELED and the app quit. This is upstream issue 2802, which upstream worked around by disabling the setting on Android 14. The prompt now opens on the first window focus. LaunchActivity also used a translucent theme, so after unlocking the home screen showed through until MainActivity drew. It now uses the app's opaque theme. Verified on an Android 14 tablet with a PIN-only screen lock: unlock opens the app without a flash of the home screen, cancel closes it, and turning the lock off asks for the PIN. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
3 daysrefactor(app): remove the legacy settings screensDanilo M.1-23/+0
The Compose settings, git config, commit log and proxy screens replace SettingsActivity with its six preference providers, GitConfigActivity with TextInputDialog, GitLogActivity with its adapter and GitLogModel, and ProxySelectorActivity, with their layouts and manifest entries. The dead OpenKeystore key ID row goes with its string, the Android 14 platform bug summary and normal_margin lose their last users, and the setup intent loses the two starts only Settings used. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
3 daysrefactor(app): remove the legacy setup screensDanilo M.1-29/+0
The Compose welcome, git server, SSH key, key generation and PGP keys screens replace OnboardingActivity with its fragments, GitServerConfigActivity with BasicBottomSheet, SshKeyImportActivity, SshKeyGenActivity, ShowSshKeyFragment, PGPKeyImportActivity and PGPKeyListActivity with KeyList and PGPKeyListViewModel, their layouts and manifest entries, and ui:compose's APSAppBar. Resources only they used are removed too. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
3 daysrefactor(app): remove the legacy editor, generators and folder pickerDanilo M.1-9/+0
The Compose editor, generator sheet, OTP dialog and folder picker replace PasswordCreationActivity, the generator and manual OTP dialog fragments, SelectFolderActivity with its fragment and adapter, their layouts and menus, and upstream's unused EditPasswordScreen with the PasswordField it used. flowbinding and swiperefreshlayout had no other users. BasePGPActivity keeps what autofill decryption still needs. Also drops two stale SshKey baseline entries, the snackbar FAB anchor whose view is gone, and resources only the deleted files used. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
3 daysfeat(app): host the Compose editor in the autofill save flowDanilo M.1-1/+4
AutofillSaveActivity shows the editor itself, prefilled from the form and FLAG_SECURE, instead of starting the legacy editor for a result. The autofill match and the generated-password fill work as before: the username and password are read back from the saved content, as the old editor did. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
4 daysrefactor(app): remove the legacy decrypt screenDanilo M.1-4/+0
The Compose entry view replaces DecryptActivity, its layouts, menu and field adapter, and upstream's unused ViewPasswordScreen. BasePGPActivity keeps what the editor and autofill still need. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
4 daysrefactor(app): remove the legacy PasswordStore listDanilo M.1-5/+0
The Compose list replaces it. The autofill inline suggestion's attribution intent now opens LaunchActivity, behind the biometric gate. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
4 daysfix(app): keep list work alive across rotation and tidy search focusDanilo M.1-0/+2
- MainActivity handles orientation|screenSize itself so rotation no longer cancels store and git work running in lifecycleScope. - Search-on-start focus moved into SearchField (own FocusRequester), only at the store root, fixing "FocusRequester is not initialized". - refresh() leaves an open folder removed by a pull; used on resume and after git, move, rename and delete. - Zero-count delete uses deleteWithoutFollowingLinks. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
4 daysfeat(app): show the Compose password list in MainActivityDanilo M.1-2/+4
Folders are back stack entries (ListRoute(path)), so back goes up one level. MainActivity extends BaseGitActivity for pull to sync and the commits after move, rename and delete. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
4 daysfeat(app): add the single-activity Compose hostDanilo M.1-0/+4
Its two routes hand off to the legacy list and decrypt activities until those screens are ported. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
4 daysrefactor(autofill): remove the fill-OTP-from-SMS pathsDanilo M.1-6/+0
Filling OTPs from SMS used Play Services' SMS User Consent API, removed with the nonFree flavor; since then AutofillSmsActivity was a stub that never offered the dataset. Delete it, its manifest entry, the dataset builders in both response builders, its drawable and string. AutofillAction.FillOtpFromSms stays in autofill-parser: it is public, metalava-checked API and harmless for a client that never fills it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
4 daysfix: stop exporting DecryptActivity and validate decrypt pathsDanilo M.1-1/+1
DecryptActivity was exported without an intent filter, so any installed app could start it with arbitrary FILE_PATH/REPO_PATH extras (and crash it by omitting them). Nothing outside the app needs to launch it: shortcuts and the decrypt action go through LaunchActivity. LaunchActivity stays exported, so it now treats FILE_PATH as untrusted: the path is forwarded only when it canonically resolves to a regular file inside the password store, and REPO_PATH is always the real store directory instead of the caller-supplied value. Anything else falls back to the main screen. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2024-08-14chore: add missing copyright headers and update existing onesHarsh Shandilya1-1/+1
2023-07-12feat(build): target API 34Harsh Shandilya1-0/+2
2023-01-26fix(app): address UI inconsistencies in proxy configuration screenHarsh Shandilya1-0/+1
2022-07-18Add key manager UIHarsh Shandilya1-0/+5
2022-07-15Remove unnecessary V2 suffixHarsh Shandilya1-3/+3
2022-07-15Remove OpenKeychain code and leave TODOs for missing functionalityHarsh Shandilya1-20/+0
2022-07-15all: re-do package structure yet againHarsh Shandilya1-27/+27
2022-04-21Remove support for external storage and raise target SDK to 31 (#1863)Harsh Shandilya1-13/+51
2022-04-06Use full canonical path for classes in manifest (#1823)Harsh Shandilya1-28/+28
* app: switch to full class names in manifest * CONTRIBUTING: document configuration cache failures
2022-03-27Migrate namespaces to Gradle (#1805)Harsh Shandilya1-1/+0
* ui-compose: update Gradle configuration * gradle: fix namespace for a couple astray Compose dependencies * all: switch to Gradle namespace property Mirrors a similar change from AndroidX https://github.com/androidx/androidx/commit/dcfa035a961fd1daabb7dcccf97d77fa2a006abf
2022-01-09Integrate PGPainless backend into the UI properly (#1647)Harsh Shandilya1-0/+2
2021-11-03app: refactor M3 themes and stylesHarsh Shandilya1-11/+11
2021-11-03app: switch to M3 APS themeHarsh Shandilya1-5/+6
2021-09-14Gopenpgp related fixes (#1503)Harsh Shandilya1-3/+3
* app: rename new crypto activities (cherry picked from commit 89be012f995b878affb7e7a592750e130c7f0f2c) * app: allow alt backends to work without OpenKeychain (cherry picked from commit 7bf9f01e5ef7bb24700ce3f242e5aabbabbff09e) * app: rename ENABLE_GOPENPGP to ENABLE_PGP_V2_BACKEND
2021-07-11Add initial implementation of Gopenpgp-backed PGP (#1441)Harsh Shandilya1-0/+11
2021-04-08Declare and check for camera features (#1375)Harsh Shandilya1-0/+7
* app: set feature requirements * Don't offer QR import option if no camera is present Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2021-03-18all: format XML files to 2 space indentHarsh Shandilya1-136/+136
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2021-03-18all: update copyrightsHarsh Shandilya1-1/+1
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2021-01-12Rework settings to use ModernAndroidPreferences (#1236)Harsh Shandilya1-3/+13
Co-authored-by: Fabian Henneke <fabian@hen.ne.ke>
2021-01-08app: cleanup how we handle menu item presses (#1275)Harsh Shandilya1-5/+1
Fixes #1274 Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-12-05Refactor package structure (#1233)Harsh Shandilya1-23/+23
* idea: default test runner to Gradle * Kick off package structure revamp * Reparent all classes under dev.msfjarvis.aps Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-10-23Rollback automatic synchronization feature (#1165)Harsh Shandilya1-1/+2
* Revert "Add option to automatically sync repository on app launch (#1137)" Fixes #1163 This reverts commit 92f1aab25da12411aa256c3b763e0cb6182e9320. Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * CHANGELOG: add entry for auto sync rollback Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-10-22Remove accessibility autofill support (#1162)Harsh Shandilya1-23/+0
* autofill: remove Accessibility backend Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * CHANGELOG: update Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2020-10-15Add option to automatically sync repository on app launch (#1137)Aditya Wasan1-2/+1
* Add option to automatically sync repository on app launch Signed-off-by: Aditya Wasan <adityawasan55@gmail.com> * Pull repo if user is not authenticated Signed-off-by: Aditya Wasan <adityawasan55@gmail.com> * Address review comments Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * Hijack incoming intent rather than copying it Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * Initialize password repository before using it Signed-off-by: Aditya Wasan <adityawasan55@gmail.com> Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
2020-10-08Introduce app-wide HTTPS proxy setting (#1134)Harsh Shandilya1-0/+3
2020-09-15Update on-boarding UI (#1099)Aditya Wasan1-1/+1
* Add onboarding flow from v2 Signed-off-by: Aditya Wasan <adityawasan55@gmail.com> * Minor fixes Signed-off-by: Aditya Wasan <adityawasan55@gmail.com> * Add changelog entry Signed-off-by: Aditya Wasan <adityawasan55@gmail.com> * Remove old activity from manifest Signed-off-by: Aditya Wasan <adityawasan55@gmail.com> * Remove view type prefix from view ids Signed-off-by: Aditya Wasan <adityawasan55@gmail.com> * Review fixes Signed-off-by: Aditya Wasan <adityawasan55@gmail.com> * Treewide: Reformat code Signed-off-by: Aditya Wasan <adityawasan55@gmail.com> * Moar review fixes Signed-off-by: Aditya Wasan <adityawasan55@gmail.com> * Revert "Treewide: Reformat code" This reverts commit 348ef0050942526a55890b245afec8d7fee4d81e. Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * onboarding: cleanup OnboardingActivity init Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * Remove unused layout Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * Remove unnecessary ConstraintLayout Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * Shorten animation duration Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * onboarding: use viewBinding extension in fragments Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
2020-09-04Revamp onboarding logic (#1068)Harsh Shandilya1-0/+4
2020-09-03Refactor Git operations and auth (#1066)Fabian Henneke1-4/+0
Co-authored-by: Harsh Shandilya <me@msfjarvis.dev>
2020-08-28Add Activity to view the Git commit log (#1056)Nosweh1-0/+4
2020-07-23Wire in fallback key selection flow (#958)Harsh Shandilya1-0/+5
Co-authored-by: Fabian Henneke <fabian@henneke.me>
2020-07-19Improve UI when launching with biometric lock (#940)Harsh Shandilya1-4/+2
2020-07-16Remove manual key selection and start actually using `.gpg-id` (#916)Harsh Shandilya1-5/+0
Co-authored-by: Aditya Wasan <adityawasan55@gmail.com> Co-authored-by: Fabian Henneke <fabian@henneke.me>
2020-07-14Revert "Work around Chrome Autofill issue (#921)" (#933)Fabian Henneke1-13/+0
2020-07-09Move password export to the IO dispatcher (#918)Harsh Shandilya1-0/+3
* Move password export to the IO dispatcher Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * Simplify snackbars and disable exit operations during export Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * Move export password logic to service Signed-off-by: Aditya Wasan <adityawasan55@gmail.com> * Reformat Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * Use explicit null check Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * Remove unneeded hack Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * Fixup strings Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> * Don't use coroutines in a service Signed-off-by: Aditya Wasan <adityawasan55@gmail.com> * Update notification icon Signed-off-by: Aditya Wasan <adityawasan55@gmail.com> * Rollback unwanted formatting Signed-off-by: Harsh Shandilya <me@msfjarvis.dev> Co-authored-by: Aditya Wasan <adityawasan55@gmail.com>
2020-07-07Work around Chrome Autofill issue (#921)Fabian Henneke1-0/+13