summaryrefslogtreecommitdiffhomepage
path: root/ui/src/main/java/com
AgeCommit message (Expand)Author
2020-09-20TunnelEditorFragment: do not assume a contextJason A. Donenfeld
2020-09-20TunnelListFragment: do not assume binding always existsJason A. Donenfeld
2020-09-20TunnelDetailFragment: use kotlin coroutine for timer and rework nullabilityJason A. Donenfeld
2020-09-20BaseFragment: avoid using requireContext() in permission result callbackJason A. Donenfeld
2020-09-20AddTunnelsSheet: disable qrcode scanning if no cameraJason A. Donenfeld
2020-09-18SettingsActivity: account for module present but no rootJason A. Donenfeld
2020-09-18ui: move to Jetpack DataStore instead of SharedPrefsJason A. Donenfeld
2020-09-18ui: reformat codeJason A. Donenfeld
2020-09-17ui: retire EdgeToEdgeHarsh Shandilya
2020-09-17ui: replace deprecated onActivityCreated with onViewCreatedHarsh Shandilya
2020-09-17ui: refactor AddTunnelsSheet's selection communicationHarsh Shandilya
2020-09-17ui: refactor AppListDialogFragment's selection communicationHarsh Shandilya
2020-09-17activityx: use contracts more and refineJason A. Donenfeld
2020-09-17DownloadsFileSaver: encapsulate permission checksJason A. Donenfeld
2020-09-16LogViewerActivity: simplify scopingJason A. Donenfeld
2020-09-16ZipExporterPreference: don't ask for storage permissions on newer androidJason A. Donenfeld
2020-09-16ui: resolve getColor deprecation in LogViewerActivityHarsh Shandilya
2020-09-16LogViewerActivity: destroy process when coroutine scope is cancelledJason A. Donenfeld
2020-09-16ui: await activity creation to change selected tunnelHarsh Shandilya
2020-09-16ui: replace GlobalScope with a hand-rolled CoroutineScopeHarsh Shandilya
2020-09-16ConfigNamingDialogFragment: fix focus request for config naming dialogHarsh Shandilya
2020-09-16TunnelEditorFragment: move backwards using fragment manager instead of hackJason A. Donenfeld
2020-09-16TunnelEditorFragment: avoid extra trip through event loopJason A. Donenfeld
2020-09-16Extensions: use more idiomatic kotlinJason A. Donenfeld
2020-09-16global: lint codebase with recent changesJason A. Donenfeld
2020-09-16ui: don't use low-level logger APIHarsh Shandilya
2020-09-16coroutines: lifecycleScope is by default on Main.immediateJason A. Donenfeld
2020-09-15coroutines: use lifecycleScope where appropriateJason A. Donenfeld
2020-09-15MonkeyedTextInputEditText: au revoirJason A. Donenfeld
2020-09-15TunnelListFragment: set selection on Main, not Main.immediateJason A. Donenfeld
2020-09-15MonkeyedTextInputEditText: add note about sunset planJason A. Donenfeld
2020-09-15gradle: desugar retrofuture and remove old depsJason A. Donenfeld
2020-09-15coroutines: convert the restJason A. Donenfeld
2020-09-14coroutines: convert low-hanging fruitsJason A. Donenfeld
2020-09-13ui: remove hacky manual check for keyguardHarsh Shandilya
2020-09-13ui: update BiometricAuthenticator for API changesHarsh Shandilya
2020-09-13ui: fix memory leak from statically held Handler instanceHarsh Shandilya
2020-08-23ui: fix SDK 30 deprecation warning for implicit Looper in Handler initHarsh Shandilya
2020-08-23ui: also enable StrictMode thread policy in debug buildsHarsh Shandilya
2020-07-23AdminKnobs: allow enterprise admins to disable private key exportJason A. Donenfeld
2020-05-29ui: address new databinding requirementsHarsh Shandilya
2020-04-16ui: animate fab scale rather than translationHarsh Shandilya
2020-04-15ObservableTunnel: account for race in renulling statsJason A. Donenfeld
2020-04-08ui: animate fab position in tunnel deletion flowHarsh Shandilya
2020-04-08ui: tweak FABs to use the correct typeHarsh Shandilya
2020-04-07ui: codestyle nitHarsh Shandilya
2020-04-07KernelModuleDisablerPreference: do not make synchronous calls to getBackendJason A. Donenfeld
2020-04-06ui: add suffix to persistent keepalive in editorJason A. Donenfeld
2020-04-06ui: add missing fields to detail viewJason A. Donenfeld
2020-04-06TunnelListFragment: onCreateActionMode is called before adapter is aliveJason A. Donenfeld