Fixes some issues
This commit is contained in:
parent
34701d2dbb
commit
f8ad45bc9c
|
@ -34,6 +34,7 @@ import android.support.v4.view.ViewPager;
|
|||
import android.support.v7.app.AlertDialog;
|
||||
import android.support.v7.widget.SearchView;
|
||||
import android.support.v7.widget.SwitchCompat;
|
||||
import android.util.Log;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.support.design.widget.NavigationView;
|
||||
|
@ -980,7 +981,8 @@ public class MainActivity extends AppCompatActivity
|
|||
if( account != null){
|
||||
String last_refresh = sharedpreferences.getString(Helper.LAST_BUBBLE_REFRESH + account.getId(), null);
|
||||
Date last_refresh_date = Helper.stringToDate(getApplicationContext(), last_refresh);
|
||||
if (last_refresh_date == null || new Date().getTime() - last_refresh_date.getTime() >= TimeUnit.MINUTES.toMillis(5)) {
|
||||
//TODO: replace by TimeUnit.MINUTES.toMillis(5)
|
||||
if (last_refresh_date == null || new Date().getTime() - last_refresh_date.getTime() >= TimeUnit.SECONDS.toMillis(30)) {
|
||||
if( homeFragment != null && notificationsFragment != null){
|
||||
homeFragment.update();
|
||||
notificationsFragment.update();
|
||||
|
@ -998,7 +1000,7 @@ public class MainActivity extends AppCompatActivity
|
|||
return;
|
||||
View tabHome = tabLayout.getTabAt(0).getCustomView();
|
||||
TextView tabCounterHome = (TextView) tabHome.findViewById(R.id.tab_counter);
|
||||
tabCounterHome.setText(newHomeCount);
|
||||
tabCounterHome.setText(String.valueOf(newHomeCount));
|
||||
if( newHomeCount > 0){
|
||||
//New data are available
|
||||
//The fragment is not displayed, so the counter is displayed
|
||||
|
@ -1016,7 +1018,7 @@ public class MainActivity extends AppCompatActivity
|
|||
return;
|
||||
View tabNotif = tabLayout.getTabAt(1).getCustomView();
|
||||
TextView tabCounterNotif = (TextView) tabNotif.findViewById(R.id.tab_counter);
|
||||
tabCounterNotif.setText(newNotifCount);
|
||||
tabCounterNotif.setText(String.valueOf(newNotifCount));
|
||||
if( newNotifCount > 0){
|
||||
if( tabLayout.getSelectedTabPosition() != 1)
|
||||
tabCounterNotif.setVisibility(View.VISIBLE);
|
||||
|
|
|
@ -20,6 +20,7 @@ import android.os.AsyncTask;
|
|||
import android.os.Bundle;
|
||||
import android.support.v4.app.Fragment;
|
||||
import android.support.v4.widget.SwipeRefreshLayout;
|
||||
import android.util.Log;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
|
@ -196,19 +197,19 @@ public class DisplayNotificationsFragment extends Fragment implements OnRetrieve
|
|||
editor.putString(Helper.LAST_BUBBLE_REFRESH+ userId,Helper.dateToString(context, new Date()));
|
||||
editor.apply();
|
||||
|
||||
String old_max_id = max_id;
|
||||
String old_max_id = sharedpreferences.getString(Helper.LAST_NOTIFICATION_MAX_ID + userId, null);
|
||||
List<Notification> notifications = apiResponse.getNotifications();
|
||||
if( refreshData || !displayNotificationsFragment.isVisible()) {
|
||||
if( refreshData || !displayNotificationsFragment.getUserVisibleHint()) {
|
||||
max_id = apiResponse.getMax_id();
|
||||
manageNotifications(notifications, max_id);
|
||||
if( !displayNotificationsFragment.isVisible()){
|
||||
if( !displayNotificationsFragment.getUserVisibleHint()){
|
||||
int countData = 0;
|
||||
for(Notification nt : notifications){
|
||||
if( nt.getId().equals(old_max_id))
|
||||
break;
|
||||
countData++;
|
||||
}
|
||||
((MainActivity)getActivity()).updateNotifCounter(countData);
|
||||
((MainActivity)context).updateNotifCounter(countData);
|
||||
}
|
||||
}else {
|
||||
new_max_id = apiResponse.getMax_id();
|
||||
|
@ -261,6 +262,6 @@ public class DisplayNotificationsFragment extends Fragment implements OnRetrieve
|
|||
}
|
||||
|
||||
public void update(){
|
||||
asyncTask = new RetrieveNotificationsAsyncTask(context, null, null, max_id, null, null, !displayNotificationsFragment.isVisible(), DisplayNotificationsFragment.this).executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
|
||||
asyncTask = new RetrieveNotificationsAsyncTask(context, null, null, max_id, null, null, !displayNotificationsFragment.getUserVisibleHint(), DisplayNotificationsFragment.this).executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -260,18 +260,18 @@ public class DisplayStatusFragment extends Fragment implements OnRetrieveFeedsIn
|
|||
editor.putString(Helper.LAST_BUBBLE_REFRESH+ userId,Helper.dateToString(context, new Date()));
|
||||
editor.apply();
|
||||
List<Status> statuses = apiResponse.getStatuses();
|
||||
String old_max_id = max_id;
|
||||
if( refreshData || !displayStatusFragment.isVisible()) {
|
||||
String old_max_id = sharedpreferences.getString(Helper.LAST_HOMETIMELINE_MAX_ID + userId, null);
|
||||
if( refreshData || !displayStatusFragment.getUserVisibleHint()) {
|
||||
max_id = apiResponse.getMax_id();
|
||||
manageStatus(statuses, max_id);
|
||||
if( !displayStatusFragment.isVisible()){
|
||||
if( !displayStatusFragment.getUserVisibleHint()){
|
||||
int countData = 0;
|
||||
for(Status st : statuses){
|
||||
if( st.getId().equals(old_max_id))
|
||||
break;
|
||||
countData++;
|
||||
}
|
||||
((MainActivity)getActivity()).updateHomeCounter(countData);
|
||||
((MainActivity)context).updateHomeCounter(countData);
|
||||
}
|
||||
}else {
|
||||
new_max_id = apiResponse.getMax_id();
|
||||
|
@ -351,6 +351,6 @@ public class DisplayStatusFragment extends Fragment implements OnRetrieveFeedsIn
|
|||
statusListAdapter.notifyDataSetChanged();
|
||||
}
|
||||
public void update() {
|
||||
asyncTask = new RetrieveFeedsAsyncTask(context, type, max_id, !displayStatusFragment.isVisible(), DisplayStatusFragment.this).executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
|
||||
asyncTask = new RetrieveFeedsAsyncTask(context, type, max_id, !displayStatusFragment.getUserVisibleHint(), DisplayStatusFragment.this).executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2,6 +2,6 @@
|
|||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="rectangle">
|
||||
<solid android:color="@color/mastodonC2" />
|
||||
<padding android:left="5dp" android:right="5dp"/>
|
||||
<padding android:left="2dp" android:right="2dp"/>
|
||||
<corners android:radius="3dp" />
|
||||
</shape>
|
|
@ -27,9 +27,11 @@
|
|||
<TextView
|
||||
android:id="@+id/tab_counter"
|
||||
android:visibility="gone"
|
||||
android:gravity="center"
|
||||
android:textSize="10sp"
|
||||
android:textColor="@color/mastodonC1"
|
||||
android:background="@drawable/shape_counter"
|
||||
android:layout_gravity="center"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content" />
|
||||
android:layout_width="18dp"
|
||||
android:layout_height="18dp"/>
|
||||
</LinearLayout>
|
Loading…
Reference in New Issue