Merge "[Ongoing Call Chip] Ensure the chip is at least 48x48dp for accessibility." into sc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
b8f98cfd7b
@@ -13,37 +13,45 @@
|
||||
~ See the License for the specific language governing permissions and
|
||||
~ limitations under the License.
|
||||
-->
|
||||
<LinearLayout
|
||||
<!-- Have the wrapper frame layout match the parent height so that we get a larger touch area for
|
||||
the chip. -->
|
||||
<FrameLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:id="@+id/ongoing_call_chip"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="@dimen/ongoing_appops_chip_height"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_gravity="center_vertical|start"
|
||||
android:gravity="center_vertical"
|
||||
android:background="@drawable/ongoing_call_chip_bg"
|
||||
android:paddingStart="@dimen/ongoing_call_chip_side_padding"
|
||||
android:paddingEnd="@dimen/ongoing_call_chip_side_padding"
|
||||
android:contentDescription="@string/ongoing_phone_call_content_description"
|
||||
>
|
||||
|
||||
<ImageView
|
||||
android:src="@*android:drawable/ic_phone"
|
||||
android:layout_width="@dimen/ongoing_call_chip_icon_size"
|
||||
android:layout_height="@dimen/ongoing_call_chip_icon_size"
|
||||
android:tint="?android:attr/colorPrimary"
|
||||
/>
|
||||
|
||||
<!-- TODO(b/183229367): The text in this view isn't quite centered within the chip. -->
|
||||
<com.android.systemui.statusbar.phone.ongoingcall.OngoingCallChronometer
|
||||
android:id="@+id/ongoing_call_chip_time"
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:singleLine="true"
|
||||
android:gravity="center|start"
|
||||
android:paddingStart="@dimen/ongoing_call_chip_icon_text_padding"
|
||||
android:textAppearance="@android:style/TextAppearance.Material.Small"
|
||||
android:fontFamily="@*android:string/config_headlineFontFamily"
|
||||
android:textColor="?android:attr/colorPrimary"
|
||||
/>
|
||||
android:layout_height="@dimen/ongoing_appops_chip_height"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:gravity="center"
|
||||
android:background="@drawable/ongoing_call_chip_bg"
|
||||
android:paddingStart="@dimen/ongoing_call_chip_side_padding"
|
||||
android:paddingEnd="@dimen/ongoing_call_chip_side_padding"
|
||||
android:contentDescription="@string/ongoing_phone_call_content_description"
|
||||
android:minWidth="@dimen/min_clickable_item_size"
|
||||
>
|
||||
|
||||
</LinearLayout>
|
||||
<ImageView
|
||||
android:src="@*android:drawable/ic_phone"
|
||||
android:layout_width="@dimen/ongoing_call_chip_icon_size"
|
||||
android:layout_height="@dimen/ongoing_call_chip_icon_size"
|
||||
android:tint="?android:attr/colorPrimary"
|
||||
/>
|
||||
|
||||
<com.android.systemui.statusbar.phone.ongoingcall.OngoingCallChronometer
|
||||
android:id="@+id/ongoing_call_chip_time"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:singleLine="true"
|
||||
android:gravity="center|start"
|
||||
android:paddingStart="@dimen/ongoing_call_chip_icon_text_padding"
|
||||
android:textAppearance="@android:style/TextAppearance.Material.Small"
|
||||
android:fontFamily="@*android:string/config_headlineFontFamily"
|
||||
android:textColor="?android:attr/colorPrimary"
|
||||
/>
|
||||
|
||||
</LinearLayout>
|
||||
</FrameLayout>
|
||||
|
||||
@@ -81,7 +81,7 @@ public class CollapsedStatusBarFragment extends Fragment implements CommandQueue
|
||||
private NetworkController mNetworkController;
|
||||
private LinearLayout mSystemIconArea;
|
||||
private View mClockView;
|
||||
private ViewGroup mOngoingCallChip;
|
||||
private View mOngoingCallChip;
|
||||
private View mNotificationIconAreaInner;
|
||||
private View mCenteredIconArea;
|
||||
private int mDisabled1;
|
||||
|
||||
@@ -23,7 +23,7 @@ import android.app.Notification
|
||||
import android.app.Notification.CallStyle.CALL_TYPE_ONGOING
|
||||
import android.content.Intent
|
||||
import android.util.Log
|
||||
import android.view.ViewGroup
|
||||
import android.view.View
|
||||
import android.widget.Chronometer
|
||||
import com.android.systemui.R
|
||||
import com.android.systemui.animation.ActivityLaunchAnimator
|
||||
@@ -57,7 +57,7 @@ class OngoingCallController @Inject constructor(
|
||||
private var ongoingCallInfo: OngoingCallInfo? = null
|
||||
/** True if the application managing the call is visible to the user. */
|
||||
private var isCallAppVisible: Boolean = true
|
||||
private var chipView: ViewGroup? = null
|
||||
private var chipView: View? = null
|
||||
private var uidObserver: IUidObserver.Stub? = null
|
||||
|
||||
private val mListeners: MutableList<OngoingCallListener> = mutableListOf()
|
||||
@@ -105,7 +105,7 @@ class OngoingCallController @Inject constructor(
|
||||
*
|
||||
* Should only be called from [CollapsedStatusBarFragment].
|
||||
*/
|
||||
fun setChipView(chipView: ViewGroup) {
|
||||
fun setChipView(chipView: View) {
|
||||
this.chipView = chipView
|
||||
if (hasOngoingCall()) {
|
||||
updateChip()
|
||||
|
||||
@@ -20,7 +20,6 @@ import android.testing.AndroidTestingRunner
|
||||
import android.testing.TestableLooper
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.widget.LinearLayout
|
||||
import androidx.test.filters.SmallTest
|
||||
import com.android.systemui.R
|
||||
import com.android.systemui.SysuiTestCase
|
||||
@@ -48,8 +47,7 @@ class OngoingCallChronometerTest : SysuiTestCase() {
|
||||
fun setUp() {
|
||||
allowTestableLooperAsMainThread()
|
||||
TestableLooper.get(this).runWithLooper {
|
||||
val chipView = LayoutInflater.from(mContext)
|
||||
.inflate(R.layout.ongoing_call_chip, null) as LinearLayout
|
||||
val chipView = LayoutInflater.from(mContext).inflate(R.layout.ongoing_call_chip, null)
|
||||
textView = chipView.findViewById(R.id.ongoing_call_chip_time)!!
|
||||
measureTextView()
|
||||
calculateDoesNotFixText()
|
||||
|
||||
@@ -27,6 +27,7 @@ import android.service.notification.NotificationListenerService.REASON_USER_STOP
|
||||
import android.testing.AndroidTestingRunner
|
||||
import android.testing.TestableLooper
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.widget.LinearLayout
|
||||
import androidx.test.filters.SmallTest
|
||||
import com.android.internal.logging.testing.UiEventLoggerFake
|
||||
@@ -80,14 +81,13 @@ class OngoingCallControllerTest : SysuiTestCase() {
|
||||
@Mock private lateinit var mockActivityStarter: ActivityStarter
|
||||
@Mock private lateinit var mockIActivityManager: IActivityManager
|
||||
|
||||
private lateinit var chipView: LinearLayout
|
||||
private lateinit var chipView: View
|
||||
|
||||
@Before
|
||||
fun setUp() {
|
||||
allowTestableLooperAsMainThread()
|
||||
TestableLooper.get(this).runWithLooper {
|
||||
chipView = LayoutInflater.from(mContext)
|
||||
.inflate(R.layout.ongoing_call_chip, null) as LinearLayout
|
||||
chipView = LayoutInflater.from(mContext).inflate(R.layout.ongoing_call_chip, null)
|
||||
}
|
||||
|
||||
MockitoAnnotations.initMocks(this)
|
||||
@@ -225,10 +225,9 @@ class OngoingCallControllerTest : SysuiTestCase() {
|
||||
// Start an ongoing call.
|
||||
notifCollectionListener.onEntryUpdated(createOngoingCallNotifEntry())
|
||||
|
||||
lateinit var newChipView: LinearLayout
|
||||
lateinit var newChipView: View
|
||||
TestableLooper.get(this).runWithLooper {
|
||||
newChipView = LayoutInflater.from(mContext)
|
||||
.inflate(R.layout.ongoing_call_chip, null) as LinearLayout
|
||||
newChipView = LayoutInflater.from(mContext).inflate(R.layout.ongoing_call_chip, null)
|
||||
}
|
||||
|
||||
// Change the chip view associated with the controller.
|
||||
|
||||
Reference in New Issue
Block a user