summaryrefslogtreecommitdiff
path: root/library/main/src/com/android
diff options
context:
space:
mode:
Diffstat (limited to 'library/main/src/com/android')
-rw-r--r--library/main/src/com/android/car/setupwizardlib/CarSetupWizardBaseLayout.java23
-rw-r--r--library/main/src/com/android/car/setupwizardlib/partner/PartnerConfig.java3
-rw-r--r--library/main/src/com/android/car/setupwizardlib/partner/PartnerConfigKey.java4
-rw-r--r--library/main/src/com/android/car/setupwizardlib/util/CarDrivingStateMonitor.java13
4 files changed, 34 insertions, 9 deletions
diff --git a/library/main/src/com/android/car/setupwizardlib/CarSetupWizardBaseLayout.java b/library/main/src/com/android/car/setupwizardlib/CarSetupWizardBaseLayout.java
index 526a5ca..e36980c 100644
--- a/library/main/src/com/android/car/setupwizardlib/CarSetupWizardBaseLayout.java
+++ b/library/main/src/com/android/car/setupwizardlib/CarSetupWizardBaseLayout.java
@@ -60,6 +60,8 @@ import java.util.Objects;
class CarSetupWizardBaseLayout extends LinearLayout {
private static final String TAG = CarSetupWizardBaseLayout.class.getSimpleName();
private static final int INVALID_COLOR = 0;
+ // For mirroring an image
+ private static final float IMAGE_MIRROR_ROTATION = 180.0f;
private View mBackButton;
private View mTitleBar;
@@ -164,15 +166,22 @@ class CarSetupWizardBaseLayout extends LinearLayout {
}
LayoutInflater inflater = LayoutInflater.from(getContext());
- inflater.inflate(R.layout.car_setup_wizard_layout, this);
+ View view = inflater.inflate(R.layout.car_setup_wizard_layout, this);
+ // The layout will not be mirrored in RTL
+ view.setLayoutDirection(View.LAYOUT_DIRECTION_LTR);
- // Set the back button visibility based on the custom attribute.
setBackButton(findViewById(R.id.back_button));
Drawable drawable = mPartnerConfigHelper.getDrawable(
getContext(), PartnerConfig.CONFIG_TOOLBAR_BUTTON_ICON_BACK);
if (drawable != null) {
((ImageView) mBackButton).setImageDrawable(drawable);
}
+
+ if (shouldMirrorNavIcons()) {
+ Log.v(TAG, "Mirroring navigation icons");
+ mBackButton.setRotation(IMAGE_MIRROR_ROTATION);
+ }
+
setBackButtonVisible(showBackButton);
// Se the title bar.
@@ -520,7 +529,6 @@ class CarSetupWizardBaseLayout extends LinearLayout {
return;
}
int direction = TextUtils.getLayoutDirectionFromLocale(locale);
- setLayoutDirection(direction);
mToolbarTitle.setTextLocale(locale);
mToolbarTitle.setLayoutDirection(direction);
@@ -625,6 +633,15 @@ class CarSetupWizardBaseLayout extends LinearLayout {
}
}
+ @VisibleForTesting
+ boolean shouldMirrorNavIcons() {
+ return getResources().getConfiguration().getLayoutDirection() == View.LAYOUT_DIRECTION_RTL
+ && mPartnerConfigHelper.getBoolean(
+ getContext(),
+ PartnerConfig.CONFIG_TOOLBAR_NAV_ICON_MIRRORING_IN_RTL,
+ true);
+ }
+
/** Sets button type face with partner overlay if exists */
private void setButtonTypeFace(TextView button) {
String fontFamily = mPartnerConfigHelper.getString(
diff --git a/library/main/src/com/android/car/setupwizardlib/partner/PartnerConfig.java b/library/main/src/com/android/car/setupwizardlib/partner/PartnerConfig.java
index 00c0ea3..27ea753 100644
--- a/library/main/src/com/android/car/setupwizardlib/partner/PartnerConfig.java
+++ b/library/main/src/com/android/car/setupwizardlib/partner/PartnerConfig.java
@@ -28,6 +28,9 @@ public enum PartnerConfig {
CONFIG_TOOLBAR_BUTTON_ICON_BACK(
PartnerConfigKey.KEY_TOOLBAR_BUTTON_ICON_BACK, ResourceType.DRAWABLE),
+ CONFIG_TOOLBAR_NAV_ICON_MIRRORING_IN_RTL(
+ PartnerConfigKey.KEY_TOOLBAR_NAV_BUTTON_MIRRORING_IN_RTL, ResourceType.BOOLEAN),
+
CONFIG_TOOLBAR_BUTTON_FONT_FAMILY(
PartnerConfigKey.KEY_TOOLBAR_BUTTON_FONT_FAMILY, ResourceType.STRING),
diff --git a/library/main/src/com/android/car/setupwizardlib/partner/PartnerConfigKey.java b/library/main/src/com/android/car/setupwizardlib/partner/PartnerConfigKey.java
index 32caceb..8556fa7 100644
--- a/library/main/src/com/android/car/setupwizardlib/partner/PartnerConfigKey.java
+++ b/library/main/src/com/android/car/setupwizardlib/partner/PartnerConfigKey.java
@@ -26,6 +26,7 @@ import java.lang.annotation.RetentionPolicy;
PartnerConfigKey.KEY_IMMERSIVE_MODE,
PartnerConfigKey.KEY_TOOLBAR_BG_COLOR,
PartnerConfigKey.KEY_TOOLBAR_BUTTON_ICON_BACK,
+ PartnerConfigKey.KEY_TOOLBAR_NAV_BUTTON_MIRRORING_IN_RTL,
PartnerConfigKey.KEY_TOOLBAR_BUTTON_FONT_FAMILY,
PartnerConfigKey.KEY_TOOLBAR_BUTTON_PADDING_HORIZONTAL,
PartnerConfigKey.KEY_TOOLBAR_BUTTON_PADDING_VERTICAL,
@@ -54,6 +55,9 @@ public @interface PartnerConfigKey {
String KEY_TOOLBAR_BUTTON_ICON_BACK = "suw_compat_toolbar_button_icon_back";
+ String KEY_TOOLBAR_NAV_BUTTON_MIRRORING_IN_RTL =
+ "suw_compat_toolbar_nav_button_mirroring_in_rtl";
+
String KEY_TOOLBAR_BUTTON_FONT_FAMILY = "suw_compat_toolbar_button_font_family";
String KEY_TOOLBAR_BUTTON_TEXT_SIZE = "suw_compat_toolbar_button_text_size";
diff --git a/library/main/src/com/android/car/setupwizardlib/util/CarDrivingStateMonitor.java b/library/main/src/com/android/car/setupwizardlib/util/CarDrivingStateMonitor.java
index ee6c8db..0cb667b 100644
--- a/library/main/src/com/android/car/setupwizardlib/util/CarDrivingStateMonitor.java
+++ b/library/main/src/com/android/car/setupwizardlib/util/CarDrivingStateMonitor.java
@@ -108,14 +108,14 @@ public class CarDrivingStateMonitor implements
* Starts the monitor listening to driving state changes.
*/
public synchronized void startMonitor() {
- if (isVerboseLoggable()) {
- Log.v(TAG, "Starting monitor");
- }
mMonitorStartedCount++;
if (mMonitorStartedCount == 0) {
+ Log.w(TAG, "MonitorStartedCount was negative");
return;
}
mHandler.removeCallbacks(mDisconnectRunnable);
+ Log.i(TAG, String.format(
+ "Starting monitor, MonitorStartedCount = %d", mMonitorStartedCount));
if (mCar != null) {
if (mCar.isConnected()) {
try {
@@ -189,12 +189,13 @@ public class CarDrivingStateMonitor implements
}
private void disconnectCarMonitor() {
- if (isVerboseLoggable()) {
- Log.v(TAG, "Timeout finished, disconnecting Car Monitor");
- }
if (mMonitorStartedCount > 0) {
+ if (isVerboseLoggable()) {
+ Log.v(TAG, "MonitorStartedCount > 0, do nothing");
+ }
return;
}
+ Log.i(TAG, "Disconnecting Car Monitor");
try {
if (mRestrictionsManager != null) {
mRestrictionsManager.unregisterListener();