This commit is contained in:
Gaurang Khatavkar 2025-03-13 20:59:09 +08:00 committed by GitHub
commit 96d5dd2b40
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -8,6 +8,7 @@ import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.res.Configuration;
import android.graphics.Color;
import android.location.Location;
import android.net.Uri;
import android.os.Build;
@ -17,6 +18,7 @@ import android.text.method.LinkMovementMethod;
import android.view.KeyEvent;
import android.view.MotionEvent;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.widget.TextView;
import android.widget.Toast;
@ -509,6 +511,11 @@ public class MwmActivity extends BaseMwmFragmentActivity
final boolean newUiModeIsCarDisconnected = mLastUiMode == Configuration.UI_MODE_TYPE_CAR && newUiMode == Configuration.UI_MODE_TYPE_NORMAL;
mLastUiMode = newUiMode;
if (!newUiModeIsCarConnected && !newUiModeIsCarDisconnected)
{
makeNavigationBarTransparentInLightMode();
}
if (newUiModeIsCarConnected || newUiModeIsCarDisconnected)
return;
recreate();
@ -527,6 +534,7 @@ public class MwmActivity extends BaseMwmFragmentActivity
getWindow().addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
setContentView(R.layout.activity_map);
makeNavigationBarTransparentInLightMode();
mPlacePageViewModel = new ViewModelProvider(this).get(PlacePageViewModel.class);
mMapButtonsViewModel = new ViewModelProvider(this).get(MapButtonsViewModel.class);
@ -1100,6 +1108,7 @@ public class MwmActivity extends BaseMwmFragmentActivity
ThemeSwitcher.INSTANCE.restart(isMapRendererActive());
refreshSearchToolbar();
setFullscreen(isFullscreen());
makeNavigationBarTransparentInLightMode();
if (Framework.nativeGetChoosePositionMode() != Framework.ChoosePositionMode.NONE)
{
UiUtils.show(mPointChooser);
@ -2471,4 +2480,35 @@ public class MwmActivity extends BaseMwmFragmentActivity
if (level >= TRIM_MEMORY_RUNNING_LOW)
Framework.nativeMemoryWarning();
}
private void makeNavigationBarTransparentInLightMode() {
boolean isLightMode = (getResources().getConfiguration().uiMode &
Configuration.UI_MODE_NIGHT_MASK) ==
Configuration.UI_MODE_NIGHT_NO;
if (isLightMode)
{
Window window = getWindow();
window.setNavigationBarColor(Color.TRANSPARENT);
window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);
int flags = window.getDecorView().getSystemUiVisibility();
flags |= View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O_MR1)
{
flags |= View.SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR;
}
window.getDecorView().setSystemUiVisibility(flags);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q)
{
window.setNavigationBarContrastEnforced(false);
}
}
}
}