Reorder notification tabs and remember selection (AND-82)
This commit is contained in:
parent
02729fe02b
commit
1f7155a932
|
@ -268,4 +268,12 @@ public class AccountSession{
|
||||||
public void updateAccountInfo(){
|
public void updateAccountInfo(){
|
||||||
AccountSessionManager.getInstance().updateSessionLocalInfo(this);
|
AccountSessionManager.getInstance().updateSessionLocalInfo(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean isNotificationsMentionsOnly(){
|
||||||
|
return getRawLocalPreferences().getBoolean("notificationsMentionsOnly", false);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setNotificationsMentionsOnly(boolean mentionsOnly){
|
||||||
|
getRawLocalPreferences().edit().putBoolean("notificationsMentionsOnly", mentionsOnly).apply();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -44,7 +44,7 @@ import me.grishka.appkit.Nav;
|
||||||
import me.grishka.appkit.api.SimpleCallback;
|
import me.grishka.appkit.api.SimpleCallback;
|
||||||
|
|
||||||
public class NotificationsListFragment extends BaseStatusListFragment<Notification>{
|
public class NotificationsListFragment extends BaseStatusListFragment<Notification>{
|
||||||
private boolean onlyMentions=true;
|
private boolean onlyMentions;
|
||||||
private String maxID;
|
private String maxID;
|
||||||
private View tabBar;
|
private View tabBar;
|
||||||
private View mentionsTab, allTab;
|
private View mentionsTab, allTab;
|
||||||
|
@ -58,9 +58,7 @@ public class NotificationsListFragment extends BaseStatusListFragment<Notificati
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
setLayout(R.layout.fragment_notifications);
|
setLayout(R.layout.fragment_notifications);
|
||||||
E.register(this);
|
E.register(this);
|
||||||
if(savedInstanceState!=null){
|
onlyMentions=AccountSessionManager.get(accountID).isNotificationsMentionsOnly();
|
||||||
onlyMentions=savedInstanceState.getBoolean("onlyMentions", true);
|
|
||||||
}
|
|
||||||
setHasOptionsMenu(true);
|
setHasOptionsMenu(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -133,12 +131,8 @@ public class NotificationsListFragment extends BaseStatusListFragment<Notificati
|
||||||
super.onShown();
|
super.onShown();
|
||||||
unreadMarker=realUnreadMarker=AccountSessionManager.get(accountID).getLastKnownNotificationsMarker();
|
unreadMarker=realUnreadMarker=AccountSessionManager.get(accountID).getLastKnownNotificationsMarker();
|
||||||
if(!dataLoading){
|
if(!dataLoading){
|
||||||
if(onlyMentions){
|
reloadingFromCache=true;
|
||||||
refresh();
|
refresh();
|
||||||
}else{
|
|
||||||
reloadingFromCache=true;
|
|
||||||
refresh();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -221,12 +215,6 @@ public class NotificationsListFragment extends BaseStatusListFragment<Notificati
|
||||||
return views;
|
return views;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onSaveInstanceState(Bundle outState){
|
|
||||||
super.onSaveInstanceState(outState);
|
|
||||||
outState.putBoolean("onlyMentions", onlyMentions);
|
|
||||||
}
|
|
||||||
|
|
||||||
private Notification getNotificationByID(String id){
|
private Notification getNotificationByID(String id){
|
||||||
for(Notification n:data){
|
for(Notification n:data){
|
||||||
if(n.id.equals(id))
|
if(n.id.equals(id))
|
||||||
|
@ -291,8 +279,10 @@ public class NotificationsListFragment extends BaseStatusListFragment<Notificati
|
||||||
allTab.setSelected(!onlyMentions);
|
allTab.setSelected(!onlyMentions);
|
||||||
maxID=null;
|
maxID=null;
|
||||||
showProgress();
|
showProgress();
|
||||||
loadData(0, 20);
|
|
||||||
refreshing=true;
|
refreshing=true;
|
||||||
|
reloadingFromCache=true;
|
||||||
|
loadData(0, 20);
|
||||||
|
AccountSessionManager.get(accountID).setNotificationsMentionsOnly(onlyMentions);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -31,7 +31,7 @@ public class Status extends BaseModel implements DisplayItemsParent{
|
||||||
public StatusPrivacy visibility;
|
public StatusPrivacy visibility;
|
||||||
public boolean sensitive;
|
public boolean sensitive;
|
||||||
@RequiredField
|
@RequiredField
|
||||||
public String spoilerText;
|
public String spoilerText="";
|
||||||
@RequiredField
|
@RequiredField
|
||||||
public List<Attachment> mediaAttachments;
|
public List<Attachment> mediaAttachments;
|
||||||
public Application application;
|
public Application application;
|
||||||
|
|
|
@ -35,15 +35,6 @@
|
||||||
android:layout_gravity="center"
|
android:layout_gravity="center"
|
||||||
style="@style/Widget.Mastodon.M3.SegmentedButtonContainer">
|
style="@style/Widget.Mastodon.M3.SegmentedButtonContainer">
|
||||||
|
|
||||||
<FrameLayout
|
|
||||||
android:id="@+id/mentions_tab"
|
|
||||||
style="@style/Widget.Mastodon.M3.SegmentedButton">
|
|
||||||
<org.joinmastodon.android.ui.views.CheckIconSelectableTextView
|
|
||||||
android:id="@+id/mentions_text"
|
|
||||||
style="@style/Widget.Mastodon.M3.SegmentedButtonText"
|
|
||||||
android:text="@string/mentions"/>
|
|
||||||
</FrameLayout>
|
|
||||||
|
|
||||||
<FrameLayout
|
<FrameLayout
|
||||||
android:id="@+id/all_tab"
|
android:id="@+id/all_tab"
|
||||||
style="@style/Widget.Mastodon.M3.SegmentedButton">
|
style="@style/Widget.Mastodon.M3.SegmentedButton">
|
||||||
|
@ -53,6 +44,15 @@
|
||||||
android:text="@string/all_notifications"/>
|
android:text="@string/all_notifications"/>
|
||||||
</FrameLayout>
|
</FrameLayout>
|
||||||
|
|
||||||
|
<FrameLayout
|
||||||
|
android:id="@+id/mentions_tab"
|
||||||
|
style="@style/Widget.Mastodon.M3.SegmentedButton">
|
||||||
|
<org.joinmastodon.android.ui.views.CheckIconSelectableTextView
|
||||||
|
android:id="@+id/mentions_text"
|
||||||
|
style="@style/Widget.Mastodon.M3.SegmentedButtonText"
|
||||||
|
android:text="@string/mentions"/>
|
||||||
|
</FrameLayout>
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
</FrameLayout>
|
</FrameLayout>
|
||||||
|
|
Loading…
Reference in New Issue