summaryrefslogtreecommitdiff
path: root/InCallUI
diff options
context:
space:
mode:
authorTyler Gunn <tgunn@google.com>2014-12-04 23:37:56 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2014-12-04 23:37:56 +0000
commit57510b311b126430c620478b15ea40307b47c0e0 (patch)
tree326392b2e6916556add8c541f0aeb80172bca88d /InCallUI
parent67ca197575874cb39e14d1acfe2140ece3e86625 (diff)
parent6b929c026e2d7d9b4fb4ec401829431e817c8606 (diff)
Merge "Fixing manage conference accessibility issues." into lmp-mr1-dev
Diffstat (limited to 'InCallUI')
-rw-r--r--InCallUI/res/layout/conference_manager_fragment.xml5
-rw-r--r--InCallUI/res/layout/manage_conference_call_button.xml13
-rw-r--r--InCallUI/src/com/android/incallui/ConferenceManagerFragment.java3
-rw-r--r--InCallUI/src/com/android/incallui/InCallActivity.java7
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) {