Merge "Fix jank on conversation screen" into rvc-dev
diff --git a/res/layout/conversation_onboarding.xml b/res/layout/conversation_onboarding.xml
index bc18094..5de2166 100644
--- a/res/layout/conversation_onboarding.xml
+++ b/res/layout/conversation_onboarding.xml
@@ -15,10 +15,12 @@
-->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:id="@+id/onboarding"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center"
android:gravity="center"
+ android:visibility="gone"
android:orientation="vertical">
<ImageView
diff --git a/src/com/android/settings/notification/app/NoConversationsPreferenceController.java b/src/com/android/settings/notification/app/NoConversationsPreferenceController.java
index c5f0cb2..7b626f6 100644
--- a/src/com/android/settings/notification/app/NoConversationsPreferenceController.java
+++ b/src/com/android/settings/notification/app/NoConversationsPreferenceController.java
@@ -19,13 +19,14 @@
import android.content.Context;
import android.os.AsyncTask;
import android.service.notification.ConversationChannelWrapper;
+import android.view.View;
import androidx.preference.Preference;
-import androidx.preference.PreferenceCategory;
+import com.android.settings.R;
import com.android.settings.notification.NotificationBackend;
+import com.android.settingslib.widget.LayoutPreference;
-import java.util.Collections;
import java.util.List;
public class NoConversationsPreferenceController extends ConversationListPreferenceController {
@@ -56,6 +57,7 @@
@Override
public void updateState(Preference preference) {
+ LayoutPreference pref = (LayoutPreference) preference;
// Load conversations
new AsyncTask<Void, Void, Void>() {
@Override
@@ -69,6 +71,8 @@
if (mContext == null) {
return;
}
+ pref.findViewById(R.id.onboarding).setVisibility(mConversations.size() == 0
+ ? View.VISIBLE : View.GONE);
preference.setVisible(mConversations.size() == 0);
}
}.execute();