|
1 | 1 | package com.d4rk.androidtutorials.java.ui.screens.main; |
2 | 2 |
|
3 | 3 | import android.Manifest; |
| 4 | +import android.annotation.SuppressLint; |
4 | 5 | import android.app.Activity; |
5 | 6 | import android.content.Intent; |
6 | 7 | import android.content.SharedPreferences; |
7 | 8 | import android.os.Build; |
8 | 9 | import android.os.Bundle; |
9 | 10 | import android.util.Log; |
10 | 11 | import android.util.SparseIntArray; |
| 12 | +import android.view.Menu; |
11 | 13 | import android.view.View; |
12 | 14 | import android.widget.Toast; |
13 | 15 |
|
|
18 | 20 | import androidx.annotation.NonNull; |
19 | 21 | import androidx.appcompat.app.ActionBar; |
20 | 22 | import androidx.appcompat.app.AppCompatActivity; |
| 23 | +import androidx.appcompat.view.menu.MenuBuilder; |
21 | 24 | import androidx.core.splashscreen.SplashScreen; |
| 25 | +import androidx.core.view.WindowCompat; |
22 | 26 | import androidx.lifecycle.DefaultLifecycleObserver; |
23 | 27 | import androidx.lifecycle.Lifecycle; |
24 | 28 | import androidx.lifecycle.LifecycleOwner; |
@@ -207,15 +211,14 @@ private void observeViewModel() { |
207 | 211 | return; |
208 | 212 | } |
209 | 213 | NavigationBarView navBarView = (NavigationBarView) binding.navView; |
| 214 | + View navRail = binding.navRail; |
210 | 215 | if (useRail) { |
211 | | - View navRail = binding.navRail; |
212 | 216 | if (navRail != null) { |
213 | 217 | navRail.setVisibility(View.VISIBLE); |
214 | 218 | } |
215 | 219 | navBarView.setVisibility(View.GONE); |
216 | | - EdgeToEdgeDelegate.apply(this, binding.container); |
| 220 | + WindowCompat.enableEdgeToEdge(this.getWindow()); |
217 | 221 | } else { |
218 | | - View navRail = binding.navRail; |
219 | 222 | if (navRail != null) { |
220 | 223 | navRail.setVisibility(View.GONE); |
221 | 224 | } |
@@ -323,6 +326,7 @@ private void observeViewModel() { |
323 | 326 | mainViewModel.getLoadingState().observe(this, isLoading -> { |
324 | 327 | ActivityMainBinding binding = mBinding; |
325 | 328 | if (binding != null) { |
| 329 | + assert binding.progressBar != null; |
326 | 330 | binding.progressBar.setVisibility(Boolean.TRUE.equals(isLoading) ? View.VISIBLE : View.GONE); |
327 | 331 | } |
328 | 332 | }); |
@@ -364,6 +368,15 @@ public boolean onOptionsItemSelected(android.view.MenuItem item) { |
364 | 368 | return super.onOptionsItemSelected(item); |
365 | 369 | } |
366 | 370 |
|
| 371 | + @SuppressLint("RestrictedApi") |
| 372 | + @Override |
| 373 | + public boolean onMenuOpened(int featureId, Menu menu) { |
| 374 | + if (menu instanceof MenuBuilder menuBuilder) { |
| 375 | + menuBuilder.setOptionalIconsVisible(true); |
| 376 | + } |
| 377 | + return super.onMenuOpened(featureId, menu); |
| 378 | + } |
| 379 | + |
367 | 380 | @Override |
368 | 381 | protected void onResume() { |
369 | 382 | super.onResume(); |
|
0 commit comments