path: root/ui/src/main/java (unfollow)
Commit message (Expand)AuthorFilesLines
2021-05-06ui: remove hack for broken kotlin compilerJason A. Donenfeld1-5/+1
2021-05-05ui: replace deprecated string operationsHarsh Shandilya3-10/+6
2021-04-21ui: remove some more non-null assertions on binding fieldsHarsh Shandilya2-2/+2
2021-04-21TunnelListFragment: drop incorrect non-null assertionHarsh Shandilya1-1/+1
2021-01-01ClipboardUtils: localize clipboard notification snackJason A. Donenfeld1-1/+2
2020-11-16ui: show all apps with internet permission in exclusions listHarsh Shandilya1-7/+6
2020-11-10ui: test for any camera, not just rear oneJason A. Donenfeld1-1/+1
2020-10-02DownloadsFileSaver: initialize callback in constructor, not on the flyJason A. Donenfeld3-9/+22
2020-10-02build: upgrade AndroidX biometricJason A. Donenfeld1-5/+4
2020-09-30ui: use commit extension from fragment-ktxHarsh Shandilya3-16/+19
2020-09-30ui: account for binding disappearing on detail fragmentJason A. Donenfeld1-7/+11
2020-09-27tv: hack gridlayoutmanager to fill columns before row if we're not scrollingJason A. Donenfeld1-0/+46
2020-09-26ui: queue up tunnel mutating on activity scope instead of fragment scopeJason A. Donenfeld6-69/+80
2020-09-26ui: print proper exception trace from log viewerJason A. Donenfeld1-1/+3
2020-09-26ui: request intent permissions from hidden activityJason A. Donenfeld1-2/+19
2020-09-24tv: handle going up directories betterJason A. Donenfeld1-25/+40
2020-09-24tv: show volume descriptions for file pickerJason A. Donenfeld1-4/+4
2020-09-24ui: account for null data in callbackJason A. Donenfeld1-0/+1
2020-09-23ui: cleanup code after churnJason A. Donenfeld2-16/+2
2020-09-23tv: use system picker for API 29+Jason A. Donenfeld1-10/+24
2020-09-23tv: use our own file pickerJason A. Donenfeld1-19/+166
2020-09-23tv: escape deletion view with back buttonJason A. Donenfeld1-0/+7
2020-09-22tv: select first item after toggling deletion modeJason A. Donenfeld1-0/+3
2020-09-22tv: hook up isFocused as observable propertyJason A. Donenfeld1-0/+4
2020-09-22tv: add text when there are no tunnelsJason A. Donenfeld1-0/+2
2020-09-22tv: select the right thing on loadJason A. Donenfeld1-2/+9
2020-09-22tv: set layout manager from XMLHarsh Shandilya1-2/+0
2020-09-22tv: do themingHarsh Shandilya1-0/+2
2020-09-22tv: account for broken TVs with no file pickerJason A. Donenfeld1-1/+7
2020-09-22tv: do not redisplay stats when deletingJason A. Donenfeld1-3/+3
2020-09-22tv: add ugly deletion modeJason A. Donenfeld1-8/+26
2020-09-22tv: wire in statsJason A. Donenfeld3-12/+60
2020-09-22tv: wire up tunnel start/stopJason A. Donenfeld1-0/+50
2020-09-22tv: begin to wire up databindingsJason A. Donenfeld1-13/+9
2020-09-22tv: abstract out tunnel importingJason A. Donenfeld5-267/+175
2020-09-22tv: initial draft of Android TV supportHarsh Shandilya3-11/+175
2020-09-21TunnelManager: catch exception in intent receiverJason A. Donenfeld1-1/+7
2020-09-20TunnelEditorFragment: do not assume a contextJason A. Donenfeld1-2/+2
2020-09-20TunnelListFragment: do not assume binding always existsJason A. Donenfeld1-4/+4
2020-09-20TunnelDetailFragment: use kotlin coroutine for timer and rework nullabilityJason A. Donenfeld1-43/+38
2020-09-20BaseFragment: avoid using requireContext() in permission result callbackJason A. Donenfeld1-2/+2
2020-09-20AddTunnelsSheet: disable qrcode scanning if no cameraJason A. Donenfeld1-1/+8
2020-09-18SettingsActivity: account for module present but no rootJason A. Donenfeld1-0/+9
2020-09-18ui: move to Jetpack DataStore instead of SharedPrefsJason A. Donenfeld8-101/+302
2020-09-18ui: reformat codeJason A. Donenfeld3-5/+2
2020-09-17ui: retire EdgeToEdgeHarsh Shandilya6-101/+1
2020-09-17ui: replace deprecated onActivityCreated with onViewCreatedHarsh Shandilya1-2/+2
2020-09-17ui: refactor AddTunnelsSheet's selection communicationHarsh Shandilya3-42/+43
2020-09-17ui: refactor AppListDialogFragment's selection communicationHarsh Shandilya2-33/+31
2020-09-17activityx: use contracts more and refineJason A. Donenfeld2-26/+22