Fix talkback directory name when first launch app or rotate screen.
Bug: 145565698
Test: manual
Change-Id: I12f0a94ef78c8ac446fc6a9e9fa807eda6563276
diff --git a/src/com/android/documentsui/BaseActivity.java b/src/com/android/documentsui/BaseActivity.java
index 54674e1..d0ffe59 100644
--- a/src/com/android/documentsui/BaseActivity.java
+++ b/src/com/android/documentsui/BaseActivity.java
@@ -75,7 +75,6 @@
import com.android.documentsui.sorting.SortModel;
import com.google.android.material.appbar.AppBarLayout;
-import com.google.android.material.tabs.TabLayout;
import java.util.ArrayList;
import java.util.Date;
@@ -344,6 +343,19 @@
}
@Override
+ protected void onStart() {
+ super.onStart();
+ if (mState.stack.getTitle() == null) {
+ // First launch.
+ setTitle("");
+ return;
+ }
+
+ // Append app name for TalkBack when app enters foreground.
+ setTitle(String.format("%s. %s", getString(R.string.files_label), mState.stack.getTitle()));
+ }
+
+ @Override
public boolean onCreateOptionsMenu(Menu menu) {
boolean showMenu = super.onCreateOptionsMenu(menu);
@@ -606,7 +618,13 @@
}
// Causes talkback to announce the activity's new title
- setTitle(mState.stack.getTitle());
+ String appName = getString(R.string.files_label);
+ if (getTitle().toString().isEmpty()) {
+ // First launch, TalkBack announces app name.
+ setTitle(String.format("%s. %s", appName, mState.stack.getTitle()));
+ } else {
+ setTitle(mState.stack.getTitle());
+ }
invalidateOptionsMenu();
mSortController.onViewModeChanged(mState.derivedMode);
diff --git a/src/com/android/documentsui/picker/ActionHandler.java b/src/com/android/documentsui/picker/ActionHandler.java
index ab05bed..c58927d 100644
--- a/src/com/android/documentsui/picker/ActionHandler.java
+++ b/src/com/android/documentsui/picker/ActionHandler.java
@@ -116,10 +116,6 @@
return;
}
- // We set the activity title in AsyncTask.onPostExecute().
- // To prevent talkback from reading aloud the default title, we clear it here.
- mActivity.setTitle("");
-
if (launchHomeForCopyDestination(intent)) {
if (DEBUG) {
Log.d(TAG, "Launching directly into Home directory for copy destination.");