Skip to content

Commit 52629be

Browse files
authored
Landscape Fixes (#66)
1 parent f0d2ee1 commit 52629be

24 files changed

+156
-57
lines changed

app/src/main/java/com/djangofiles/djangofiles/MainActivity.kt

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -184,12 +184,18 @@ class MainActivity : AppCompatActivity() {
184184
window.statusBarColor = Color.TRANSPARENT
185185
//WindowInsetsControllerCompat(window, window.decorView).isAppearanceLightStatusBars = false
186186

187+
// Set Global Left/Right System Insets
188+
ViewCompat.setOnApplyWindowInsetsListener(binding.appBarMain.contentMain.contentMainLayout) { v, insets ->
189+
val bars = insets.getInsets(WindowInsetsCompat.Type.systemBars())
190+
Log.i("Main[ViewCompat]", "bars: $bars")
191+
v.updatePadding(left = bars.left, right = bars.right)
192+
insets
193+
}
187194

188195
//binding.drawerLayout.setStatusBarBackgroundColor(Color.TRANSPARENT)
189196
//WindowCompat.setDecorFitsSystemWindows(window, false)
190197
//window.decorView.setOnApplyWindowInsetsListener { view, insets -> insets }
191198

192-
193199
// Update Navigation Bar
194200
window.navigationBarColor = Color.TRANSPARENT
195201
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
@@ -199,9 +205,9 @@ class MainActivity : AppCompatActivity() {
199205
// Set Nav Header Top Padding
200206
val headerView = binding.navView.getHeaderView(0)
201207
ViewCompat.setOnApplyWindowInsetsListener(headerView) { v, insets ->
202-
val top = insets.getInsets(WindowInsetsCompat.Type.statusBars()).top
203-
Log.d("ViewCompat", "top: $top")
204-
v.updatePadding(top = top)
208+
val bars = insets.getInsets(WindowInsetsCompat.Type.statusBars())
209+
Log.d("ViewCompat", "top: ${bars.top}")
210+
v.updatePadding(top = bars.top)
205211
insets
206212
}
207213

@@ -294,7 +300,7 @@ class MainActivity : AppCompatActivity() {
294300
showPreview(uris[0])
295301
} else {
296302
Log.w("filePickerLauncher", "No Files Selected!")
297-
Toast.makeText(this, "No Files Selected!", Toast.LENGTH_SHORT).show()
303+
//Toast.makeText(this, "No Files Selected!", Toast.LENGTH_SHORT).show()
298304
}
299305
}
300306

@@ -663,6 +669,10 @@ class MainActivity : AppCompatActivity() {
663669
Log.d("setDrawerLockMode", "setDrawerLockMode: $lockMode")
664670
binding.drawerLayout.setDrawerLockMode(lockMode)
665671
}
672+
673+
fun launchFilePicker() {
674+
filePickerLauncher.launch(arrayOf("*/*"))
675+
}
666676
}
667677

668678

app/src/main/java/com/djangofiles/djangofiles/ui/files/FilesFragment.kt

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ import androidx.swiperefreshlayout.widget.SwipeRefreshLayout.OnRefreshListener
3232
import com.bumptech.glide.Glide
3333
import com.bumptech.glide.integration.okhttp3.OkHttpUrlLoader
3434
import com.bumptech.glide.load.model.GlideUrl
35+
import com.djangofiles.djangofiles.MainActivity
3536
import com.djangofiles.djangofiles.R
3637
import com.djangofiles.djangofiles.ServerApi
3738
import com.djangofiles.djangofiles.ServerApi.FileResponse
@@ -124,9 +125,9 @@ class FilesFragment : Fragment() {
124125
//Log.d("File[onViewCreated]", "savedInstanceState: ${savedInstanceState?.size()}")
125126

126127
ViewCompat.setOnApplyWindowInsetsListener(view) { v, insets ->
127-
val top = insets.getInsets(WindowInsetsCompat.Type.statusBars()).top
128-
Log.d("ViewCompat", "top: $top")
129-
v.updatePadding(top = top)
128+
val bars = insets.getInsets(WindowInsetsCompat.Type.systemBars())
129+
Log.d("ViewCompat", "top: ${bars.top}")
130+
v.updatePadding(top = bars.top)
130131
insets
131132
}
132133

@@ -512,6 +513,11 @@ class FilesFragment : Fragment() {
512513
filesAdapter.notifyItemChanged(pos)
513514
}
514515
}
516+
517+
binding.uploadFiles.setOnClickListener {
518+
Log.d("uploadFiles", "setOnClickListener")
519+
(requireActivity() as MainActivity).launchFilePicker()
520+
}
515521
}
516522

517523
fun getFileIds(positions: List<Int>): List<Int> {

app/src/main/java/com/djangofiles/djangofiles/ui/files/FilesPreviewFragment.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -118,9 +118,9 @@ class FilesPreviewFragment : Fragment() {
118118
Log.d("FilesPreviewFragment", "onViewCreated: ${savedInstanceState?.size()}")
119119

120120
ViewCompat.setOnApplyWindowInsetsListener(view) { v, insets ->
121-
val top = insets.getInsets(WindowInsetsCompat.Type.statusBars()).top
122-
Log.d("ViewCompat", "top: $top")
123-
v.updatePadding(top = top)
121+
val bars = insets.getInsets(WindowInsetsCompat.Type.systemBars())
122+
Log.d("ViewCompat", "top: ${bars.top}")
123+
v.updatePadding(top = bars.top)
124124
insets
125125
}
126126

app/src/main/java/com/djangofiles/djangofiles/ui/home/HomeFragment.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -90,9 +90,9 @@ class HomeFragment : Fragment() {
9090
//}
9191

9292
ViewCompat.setOnApplyWindowInsetsListener(view) { v, insets ->
93-
val top = insets.getInsets(WindowInsetsCompat.Type.statusBars()).top
94-
Log.d("ViewCompat", "top: $top")
95-
v.updatePadding(top = top)
93+
val bars = insets.getInsets(WindowInsetsCompat.Type.systemBars())
94+
Log.d("ViewCompat", "top: ${bars.top}")
95+
v.updatePadding(top = bars.top)
9696
insets
9797
}
9898

app/src/main/java/com/djangofiles/djangofiles/ui/login/AuthorizeFragment.kt

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,9 @@ import android.view.View
1010
import android.view.ViewGroup
1111
import android.widget.Toast
1212
import androidx.core.content.edit
13+
import androidx.core.view.ViewCompat
14+
import androidx.core.view.WindowInsetsCompat
15+
import androidx.core.view.updatePadding
1316
import androidx.fragment.app.Fragment
1417
import androidx.lifecycle.lifecycleScope
1518
import androidx.navigation.NavOptions
@@ -73,6 +76,12 @@ class AuthorizeFragment : Fragment() {
7376
super.onViewCreated(view, savedInstanceState)
7477
Log.d("Authorize[onViewCreated]", "savedInstanceState: ${savedInstanceState?.size()}")
7578

79+
ViewCompat.setOnApplyWindowInsetsListener(binding.scrollViewLayout) { v, insets ->
80+
val bars = insets.getInsets(WindowInsetsCompat.Type.systemBars())
81+
v.updatePadding(top = bars.top, bottom = bars.bottom)
82+
insets
83+
}
84+
7685
val ctx = requireContext()
7786

7887
val packageInfo = ctx.packageManager.getPackageInfo(ctx.packageName, 0)

app/src/main/java/com/djangofiles/djangofiles/ui/login/LoginFragment.kt

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,9 @@ import android.view.View
88
import android.view.ViewGroup
99
import android.widget.Toast
1010
import androidx.core.net.toUri
11+
import androidx.core.view.ViewCompat
12+
import androidx.core.view.WindowInsetsCompat
13+
import androidx.core.view.updatePadding
1114
import androidx.fragment.app.Fragment
1215
import androidx.fragment.app.activityViewModels
1316
import androidx.lifecycle.lifecycleScope
@@ -62,6 +65,12 @@ class LoginFragment : Fragment() {
6265
super.onViewCreated(view, savedInstanceState)
6366
Log.d("Login[onViewCreated]", "savedInstanceState: ${savedInstanceState?.size()}")
6467

68+
ViewCompat.setOnApplyWindowInsetsListener(binding.scrollViewLayout) { v, insets ->
69+
val bars = insets.getInsets(WindowInsetsCompat.Type.systemBars())
70+
v.updatePadding(top = bars.top, bottom = bars.bottom)
71+
insets
72+
}
73+
6574
val packageInfo =
6675
requireContext().packageManager.getPackageInfo(requireContext().packageName, 0)
6776
val versionName = packageInfo.versionName

app/src/main/java/com/djangofiles/djangofiles/ui/login/LoginTwoFragment.kt

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,10 @@ import android.view.ViewGroup
99
import android.widget.Toast
1010
import androidx.core.content.edit
1111
import androidx.core.net.toUri
12+
import androidx.core.view.ViewCompat
13+
import androidx.core.view.WindowInsetsCompat
1214
import androidx.core.view.isVisible
15+
import androidx.core.view.updatePadding
1316
import androidx.fragment.app.Fragment
1417
import androidx.fragment.app.activityViewModels
1518
import androidx.lifecycle.lifecycleScope
@@ -76,6 +79,12 @@ class LoginTwoFragment : Fragment() {
7679
super.onViewCreated(view, savedInstanceState)
7780
Log.d("Login[onViewCreated]", "savedInstanceState: ${savedInstanceState?.size()}")
7881

82+
ViewCompat.setOnApplyWindowInsetsListener(binding.scrollViewLayout) { v, insets ->
83+
val bars = insets.getInsets(WindowInsetsCompat.Type.systemBars())
84+
v.updatePadding(top = bars.top, bottom = bars.bottom)
85+
insets
86+
}
87+
7988
val appContext = requireContext()
8089
val packageInfo =
8190
appContext.packageManager.getPackageInfo(appContext.packageName, 0)

app/src/main/java/com/djangofiles/djangofiles/ui/settings/SettingsFragment.kt

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -75,14 +75,13 @@ class SettingsFragment : PreferenceFragmentCompat() {
7575
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
7676
super.onViewCreated(view, savedInstanceState)
7777
ViewCompat.setOnApplyWindowInsetsListener(view) { v, insets ->
78-
val top = insets.getInsets(WindowInsetsCompat.Type.statusBars()).top
79-
Log.d("ViewCompat", "top: $top")
80-
v.updatePadding(top = top)
78+
val bars = insets.getInsets(WindowInsetsCompat.Type.systemBars())
79+
Log.d("ViewCompat", "top: ${bars.top}")
80+
v.updatePadding(top = bars.top)
8181

8282
if (arguments?.getBoolean("hide_bottom_nav") == true) {
83-
val bottom = insets.getInsets(WindowInsetsCompat.Type.navigationBars()).bottom
84-
Log.d("ViewCompat", "bottom: $bottom")
85-
v.updatePadding(bottom = bottom)
83+
Log.d("ViewCompat", "bottom: ${bars.bottom}")
84+
v.updatePadding(bottom = bars.bottom)
8685
}
8786
insets
8887
}

app/src/main/java/com/djangofiles/djangofiles/ui/settings/WidgetSettingsFragment.kt

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -34,14 +34,13 @@ class WidgetSettingsFragment : PreferenceFragmentCompat() {
3434
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
3535
super.onViewCreated(view, savedInstanceState)
3636
ViewCompat.setOnApplyWindowInsetsListener(view) { v, insets ->
37-
val top = insets.getInsets(WindowInsetsCompat.Type.statusBars()).top
38-
Log.d("ViewCompat", "top: $top")
39-
v.updatePadding(top = top)
37+
val bars = insets.getInsets(WindowInsetsCompat.Type.systemBars())
38+
Log.d("ViewCompat", "top: ${bars.top}")
39+
v.updatePadding(top = bars.top)
4040

4141
if (arguments?.getBoolean("hide_bottom_nav") == true) {
42-
val bottom = insets.getInsets(WindowInsetsCompat.Type.navigationBars()).bottom
43-
Log.d("ViewCompat", "bottom: $bottom")
44-
v.updatePadding(bottom = bottom)
42+
Log.d("ViewCompat", "bottom: ${bars.bottom}")
43+
v.updatePadding(bottom = bars.bottom)
4544
}
4645
insets
4746
}

app/src/main/java/com/djangofiles/djangofiles/ui/upload/ShortFragment.kt

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,9 @@ import android.view.ViewGroup
99
import android.widget.Toast
1010
import androidx.core.net.toUri
1111
import androidx.core.os.bundleOf
12+
import androidx.core.view.ViewCompat
13+
import androidx.core.view.WindowInsetsCompat
14+
import androidx.core.view.updatePadding
1215
import androidx.fragment.app.Fragment
1316
import androidx.lifecycle.lifecycleScope
1417
import androidx.navigation.NavOptions
@@ -67,6 +70,12 @@ class ShortFragment : Fragment() {
6770
Log.d("Short[onViewCreated]", "savedInstanceState: $savedInstanceState")
6871
Log.d("Short[onViewCreated]", "arguments: $arguments")
6972

73+
ViewCompat.setOnApplyWindowInsetsListener(view) { v, insets ->
74+
val bars = insets.getInsets(WindowInsetsCompat.Type.systemBars())
75+
v.updatePadding(top = bars.top, bottom = bars.bottom)
76+
insets
77+
}
78+
7079
val savedUrl = preferences.getString("saved_url", null)
7180
val authToken = preferences.getString("auth_token", null)
7281
Log.d("Short[onViewCreated]", "savedUrl: $savedUrl - authToken: $authToken")

0 commit comments

Comments
 (0)