diff options
author | Tyler Gunn <tgunn@google.com> | 2014-12-08 19:11:36 +0000 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2014-12-08 19:11:36 +0000 |
commit | 5a811a3647825085e45a36e045d96c35dc6d3231 (patch) | |
tree | 50b906031626141224915bb05869b1f7a055297a /InCallUI | |
parent | ea0d3fc18b558ba733661fec48389f2854fbba40 (diff) | |
parent | 0e270d292eacd6fe48f8a8f0e9fbc977d70b9c28 (diff) |
am 3a4c53fe: am e405a9c6: Merge "Fixing manage conference accessibility issues." into lmp-mr1-dev
* commit '3a4c53fe34ed846c12b724ff69a896d6d900fdb3':
Fixing manage conference accessibility issues.
Diffstat (limited to 'InCallUI')
4 files changed, 20 insertions, 8 deletions
diff --git a/InCallUI/res/layout/conference_manager_fragment.xml b/InCallUI/res/layout/conference_manager_fragment.xml index 5aed520b7..8e55ad762 100644 --- a/InCallUI/res/layout/conference_manager_fragment.xml +++ b/InCallUI/res/layout/conference_manager_fragment.xml @@ -23,7 +23,6 @@ android:layout_width="match_parent" android:layout_height="match_parent" android:paddingTop="@dimen/conference_call_manager_padding_top" - android:clickable="true" android:visibility="gone"> <!-- List of conference participants. --> @@ -33,5 +32,7 @@ android:layout_height="match_parent" android:listSelector="@null" android:background="@color/background_dialer_white" - android:divider="@null" /> + android:divider="@null" + android:focusableInTouchMode="true" + android:focusable="true"/> </FrameLayout> diff --git a/InCallUI/res/layout/manage_conference_call_button.xml b/InCallUI/res/layout/manage_conference_call_button.xml index e9de926fd..3b5ef9931 100644 --- a/InCallUI/res/layout/manage_conference_call_button.xml +++ b/InCallUI/res/layout/manage_conference_call_button.xml @@ -15,12 +15,14 @@ ~ limitations under the License --> -<!-- This button is used only on GSM devices, during a conference call. --> +<!-- This button is used only on GSM and IMS devices, during a conference call. --> <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/manage_conference_call_button" android:layout_width="match_parent" android:layout_height="wrap_content" - android:background="@color/incall_banner_secondary_background_color"> + android:background="@color/incall_banner_secondary_background_color" + android:focusable="true" + android:contentDescription="@string/onscreenManageConferenceText"> <Space android:layout_width="match_parent" android:layout_height="1dp" @@ -42,8 +44,8 @@ android:layout_height="wrap_content" android:src="@drawable/ic_group_white_24dp" android:tint="@color/incall_banner_secondary_text_color" - android:contentDescription="@string/onscreenManageConferenceText" - android:paddingEnd="16dp" /> + android:paddingEnd="16dp" + android:importantForAccessibility="no" /> <TextView android:id="@+id/manageConferenceButtonLabel" android:layout_width="match_parent" @@ -51,7 +53,8 @@ android:gravity="center_vertical" android:textColor="@color/incall_banner_secondary_text_color" android:textSize="@dimen/secondary_call_info_text_size" - android:text="@string/onscreenManageConferenceText" /> + android:text="@string/onscreenManageConferenceText" + android:importantForAccessibility="no" /> </LinearLayout> diff --git a/InCallUI/src/com/android/incallui/ConferenceManagerFragment.java b/InCallUI/src/com/android/incallui/ConferenceManagerFragment.java index c25a1ab4b..163954b2d 100644 --- a/InCallUI/src/com/android/incallui/ConferenceManagerFragment.java +++ b/InCallUI/src/com/android/incallui/ConferenceManagerFragment.java @@ -92,6 +92,9 @@ public class ConferenceManagerFragment final CallList calls = CallList.getInstance(); getPresenter().init(getActivity(), calls); getView().setVisibility(View.VISIBLE); + // Request focus on the list of participants for accessibility purposes. This ensures + // that once the list of participants is shown, the first participant is announced. + mConferenceParticipantList.requestFocus(); } else { getView().setVisibility(View.GONE); diff --git a/InCallUI/src/com/android/incallui/InCallActivity.java b/InCallUI/src/com/android/incallui/InCallActivity.java index e94a2dcad..03cd3840c 100644 --- a/InCallUI/src/com/android/incallui/InCallActivity.java +++ b/InCallUI/src/com/android/incallui/InCallActivity.java @@ -319,7 +319,7 @@ public class InCallActivity extends Activity { // BACK is also used to exit out of any "special modes" of the // in-call UI: - if (!mCallCardFragment.isVisible()) { + if (!mConferenceManagerFragment.isVisible() && !mCallCardFragment.isVisible()) { return; } @@ -328,6 +328,7 @@ public class InCallActivity extends Activity { return; } else if (mConferenceManagerFragment.isVisible()) { mConferenceManagerFragment.setVisible(false); + mCallCardFragment.getView().setVisibility(View.VISIBLE); return; } @@ -682,6 +683,10 @@ public class InCallActivity extends Activity { public void showConferenceCallManager() { mConferenceManagerFragment.setVisible(true); + + // Need to hide the call card fragment to ensure that accessibility service does not try to + // give focus to the call card when the conference manager is visible. + mCallCardFragment.getView().setVisibility(View.GONE); } public void showPostCharWaitDialog(String callId, String chars) { |