Improve entrance animations on convo page
By moving loading in each controller to the same thread. There will still be shifting as the conversation prefs are added, but it won't be the over thte top shift up and shift down motion that existed prior to this cl. Test: manual Fixes: 188734400 Change-Id: I202981b603b8f9308b2b352a0939182910869cd6
This commit is contained in:
@@ -29,7 +29,7 @@
|
||||
<PreferenceCategory
|
||||
android:key="important_conversations"
|
||||
android:title="@string/important_conversations"
|
||||
android:visibility="gone"
|
||||
settings:isPreferenceVisible="false"
|
||||
settings:allowDividerAbove="false"
|
||||
settings:allowDividerBelow="true" >
|
||||
<Preference
|
||||
@@ -48,6 +48,7 @@
|
||||
<PreferenceCategory
|
||||
android:title="@string/other_conversations"
|
||||
android:key="other_conversations"
|
||||
settings:isPreferenceVisible="false"
|
||||
settings:allowDividerAbove="true"
|
||||
settings:allowDividerBelow="false" />
|
||||
|
||||
@@ -55,6 +56,7 @@
|
||||
<PreferenceCategory
|
||||
android:title="@string/recent_conversations"
|
||||
android:key="recent_conversations"
|
||||
settings:isPreferenceVisible="false"
|
||||
settings:allowDividerAbove="true"
|
||||
settings:allowDividerBelow="false" />
|
||||
|
||||
|
@@ -68,21 +68,10 @@ public class AllConversationsPreferenceController extends ConversationListPrefer
|
||||
public void updateState(Preference preference) {
|
||||
PreferenceCategory pref = (PreferenceCategory) preference;
|
||||
// Load conversations
|
||||
new AsyncTask<Void, Void, Void>() {
|
||||
@Override
|
||||
protected Void doInBackground(Void... unused) {
|
||||
mConversations = mBackend.getConversations(false).getList();
|
||||
Collections.sort(mConversations, mConversationComparator);
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onPostExecute(Void unused) {
|
||||
if (mContext == null) {
|
||||
return;
|
||||
}
|
||||
populateList(mConversations, pref);
|
||||
}
|
||||
}.execute();
|
||||
mConversations = mBackend.getConversations(false).getList();
|
||||
Collections.sort(mConversations, mConversationComparator);
|
||||
|
||||
populateList(mConversations, pref);
|
||||
}
|
||||
}
|
||||
|
@@ -63,7 +63,7 @@ public abstract class ConversationListPreferenceController extends AbstractPrefe
|
||||
|
||||
protected void populateList(List<ConversationChannelWrapper> conversations,
|
||||
PreferenceGroup containerGroup) {
|
||||
// TODO: if preference has children, compare with newly loaded list
|
||||
containerGroup.setVisible(false);
|
||||
containerGroup.removeAll();
|
||||
if (conversations != null) {
|
||||
populateConversations(conversations, containerGroup);
|
||||
@@ -72,11 +72,11 @@ public abstract class ConversationListPreferenceController extends AbstractPrefe
|
||||
if (containerGroup.getPreferenceCount() == 0) {
|
||||
containerGroup.setVisible(false);
|
||||
} else {
|
||||
containerGroup.setVisible(true);
|
||||
Preference summaryPref = getSummaryPreference();
|
||||
if (summaryPref != null) {
|
||||
containerGroup.addPreference(summaryPref);
|
||||
}
|
||||
containerGroup.setVisible(true);
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -67,22 +67,9 @@ public class PriorityConversationsPreferenceController extends
|
||||
public void updateState(Preference preference) {
|
||||
PreferenceCategory pref = (PreferenceCategory) preference;
|
||||
// Load conversations
|
||||
new AsyncTask<Void, Void, Void>() {
|
||||
@Override
|
||||
protected Void doInBackground(Void... unused) {
|
||||
mConversations = mBackend.getConversations(true).getList();
|
||||
Collections.sort(mConversations, mConversationComparator);
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onPostExecute(Void unused) {
|
||||
if (mContext == null) {
|
||||
return;
|
||||
}
|
||||
populateList(mConversations, pref);
|
||||
}
|
||||
}.execute();
|
||||
mConversations = mBackend.getConversations(true).getList();
|
||||
Collections.sort(mConversations, mConversationComparator);
|
||||
|
||||
populateList(mConversations, pref);
|
||||
}
|
||||
}
|
||||
|
@@ -104,26 +104,14 @@ public class RecentConversationsPreferenceController extends AbstractPreferenceC
|
||||
public void updateState(Preference preference) {
|
||||
PreferenceCategory pref = (PreferenceCategory) preference;
|
||||
// Load conversations
|
||||
new AsyncTask<Void, Void, Void>() {
|
||||
@Override
|
||||
protected Void doInBackground(Void... unused) {
|
||||
try {
|
||||
mConversations = mPs.getRecentConversations().getList();
|
||||
} catch (RemoteException e) {
|
||||
Slog.w(TAG, "Could get recents", e);
|
||||
}
|
||||
Collections.sort(mConversations, mConversationComparator);
|
||||
return null;
|
||||
}
|
||||
try {
|
||||
mConversations = mPs.getRecentConversations().getList();
|
||||
} catch (RemoteException e) {
|
||||
Slog.w(TAG, "Could get recents", e);
|
||||
}
|
||||
Collections.sort(mConversations, mConversationComparator);
|
||||
|
||||
@Override
|
||||
protected void onPostExecute(Void unused) {
|
||||
if (mContext == null) {
|
||||
return;
|
||||
}
|
||||
populateList(mConversations, pref);
|
||||
}
|
||||
}.execute();
|
||||
populateList(mConversations, pref);
|
||||
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user