Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 69ce3a4d authored by Coco Duan's avatar Coco Duan Committed by Android (Google) Code Review
Browse files

Merge "When focusing on time complication, TalkBack didn't announce AM or PM" into main

parents bdbd6fbc 0ace23b7
Loading
Loading
Loading
Loading
+5 −2
Original line number Diff line number Diff line
@@ -23,7 +23,7 @@ import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;

import android.content.Context;
import android.view.View;
import android.widget.TextClock;

import androidx.test.ext.junit.runners.AndroidJUnit4;
import androidx.test.filters.SmallTest;
@@ -41,6 +41,8 @@ import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;

import java.util.Locale;

@SmallTest
@RunWith(AndroidJUnit4.class)
public class DreamClockTimeComplicationTest extends SysuiTestCase {
@@ -68,7 +70,7 @@ public class DreamClockTimeComplicationTest extends SysuiTestCase {
    private ComplicationViewModel mComplicationViewModel;

    @Mock
    private View mView;
    private TextClock mView;

    @Mock
    private ComplicationLayoutParams mLayoutParams;
@@ -86,6 +88,7 @@ public class DreamClockTimeComplicationTest extends SysuiTestCase {
        MockitoAnnotations.initMocks(this);
        when(mComponentFactory.create()).thenReturn(mComponent);
        when(mComponent.getViewHolder()).thenReturn(mDreamClockTimeViewHolder);
        when(mView.getTextLocale()).thenReturn(Locale.US);
        mMonitor = SelfExecutingMonitor.createInstance();
    }

+12 −3
Original line number Diff line number Diff line
@@ -16,10 +16,13 @@

package com.android.systemui.complication;

import static android.text.format.DateFormat.getBestDateTimePattern;

import static com.android.systemui.complication.dagger.DreamClockTimeComplicationComponent.DreamClockTimeComplicationModule.DREAM_CLOCK_TIME_COMPLICATION_VIEW;
import static com.android.systemui.complication.dagger.RegisteredComplicationsModule.DREAM_CLOCK_TIME_COMPLICATION_LAYOUT_PARAMS;

import android.view.View;
import android.widget.TextClock;

import com.android.internal.logging.UiEventLogger;
import com.android.systemui.CoreStartable;
@@ -92,18 +95,24 @@ public class DreamClockTimeComplication implements Complication {
     * {@link ViewHolder} to contain value/logic associated with {@link DreamClockTimeComplication}.
     */
    public static class DreamClockTimeViewHolder implements ViewHolder {
        private final View mView;
        private final TextClock mView;
        private final ComplicationLayoutParams mLayoutParams;

        @Inject
        DreamClockTimeViewHolder(
                @Named(DREAM_CLOCK_TIME_COMPLICATION_VIEW) View view,
                @Named(DREAM_CLOCK_TIME_COMPLICATION_VIEW) TextClock view,
                @Named(DREAM_CLOCK_TIME_COMPLICATION_LAYOUT_PARAMS)
                        ComplicationLayoutParams layoutParams,
                DreamClockTimeViewController viewController) {
            mView = view;
            mLayoutParams = layoutParams;
            viewController.init();

            // Support localized AM/PM marker for 12h mode in content description.
            String formatSkeleton = view.is24HourModeEnabled() ? "Hm" : "hm";
            String pattern = getBestDateTimePattern(view.getTextLocale(), formatSkeleton);
            view.setContentDescriptionFormat12Hour(pattern);
            view.setContentDescriptionFormat24Hour(pattern);
        }

        @Override
@@ -122,7 +131,7 @@ public class DreamClockTimeComplication implements Complication {

        @Inject
        DreamClockTimeViewController(
                @Named(DREAM_CLOCK_TIME_COMPLICATION_VIEW) View view,
                @Named(DREAM_CLOCK_TIME_COMPLICATION_VIEW) TextClock view,
                UiEventLogger uiEventLogger) {
            super(view);

+1 −2
Original line number Diff line number Diff line
@@ -18,7 +18,6 @@
package com.android.systemui.complication.dagger

import android.view.LayoutInflater
import android.view.View
import android.widget.TextClock
import com.android.internal.util.Preconditions
import com.android.systemui.Flags
@@ -64,7 +63,7 @@ interface DreamClockTimeComplicationComponent {
            @Provides
            @DreamClockTimeComplicationScope
            @Named(DREAM_CLOCK_TIME_COMPLICATION_VIEW)
            fun provideComplicationView(layoutInflater: LayoutInflater): View {
            fun provideComplicationView(layoutInflater: LayoutInflater): TextClock {
                val view =
                    Preconditions.checkNotNull(
                        layoutInflater.inflate(