Add 'Recent Conversations' to the conversation page
Test: atest Bug: 171191376 Change-Id: Id7208312dff0cc022c2f16b3872fae1a9dc09ed7
This commit is contained in:
@@ -16,9 +16,12 @@
|
||||
|
||||
package com.android.settings.notification.app;
|
||||
|
||||
import android.app.people.IPeopleManager;
|
||||
import android.content.Context;
|
||||
import android.os.AsyncTask;
|
||||
import android.os.RemoteException;
|
||||
import android.service.notification.ConversationChannelWrapper;
|
||||
import android.util.Log;
|
||||
import android.view.View;
|
||||
|
||||
import androidx.preference.Preference;
|
||||
@@ -27,17 +30,18 @@ import com.android.settings.R;
|
||||
import com.android.settings.notification.NotificationBackend;
|
||||
import com.android.settingslib.widget.LayoutPreference;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class NoConversationsPreferenceController extends ConversationListPreferenceController {
|
||||
|
||||
private static String TAG = "NoConversationsPC";
|
||||
private static final String KEY = "no_conversations";
|
||||
|
||||
private List<ConversationChannelWrapper> mConversations;
|
||||
private IPeopleManager mPs;
|
||||
private int mConversationCount = 0;
|
||||
|
||||
public NoConversationsPreferenceController(Context context,
|
||||
NotificationBackend backend) {
|
||||
NotificationBackend backend, IPeopleManager ps) {
|
||||
super(context, backend);
|
||||
mPs = ps;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -67,7 +71,12 @@ public class NoConversationsPreferenceController extends ConversationListPrefere
|
||||
new AsyncTask<Void, Void, Void>() {
|
||||
@Override
|
||||
protected Void doInBackground(Void... unused) {
|
||||
mConversations = mBackend.getConversations(false).getList();
|
||||
mConversationCount = mBackend.getConversations(false).getList().size();
|
||||
try {
|
||||
mConversationCount += mPs.getRecentConversations().getList().size();
|
||||
} catch (RemoteException e) {
|
||||
Log.w(TAG, "Error calling PS", e);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -76,9 +85,9 @@ public class NoConversationsPreferenceController extends ConversationListPrefere
|
||||
if (mContext == null) {
|
||||
return;
|
||||
}
|
||||
pref.findViewById(R.id.onboarding).setVisibility(mConversations.size() == 0
|
||||
pref.findViewById(R.id.onboarding).setVisibility(mConversationCount == 0
|
||||
? View.VISIBLE : View.GONE);
|
||||
preference.setVisible(mConversations.size() == 0);
|
||||
preference.setVisible(mConversationCount == 0);
|
||||
}
|
||||
}.execute();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user