Merge branch 'improves_stream_tl' into develop
This commit is contained in:
commit
28f1cf0958
|
@ -178,11 +178,11 @@ public abstract class BaseMainActivity extends AppCompatActivity
|
|||
Helper.canPin = false;
|
||||
Helper.fillMapEmoji(getApplicationContext());
|
||||
//Here, the user is authenticated
|
||||
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
|
||||
Toolbar toolbar = findViewById(R.id.toolbar);
|
||||
setSupportActionBar(toolbar);
|
||||
toolbarTitle = (TextView) toolbar.findViewById(R.id.toolbar_title);
|
||||
toolbar_search = (SearchView) toolbar.findViewById(R.id.toolbar_search);
|
||||
tabLayout = (TabLayout) findViewById(R.id.tabLayout);
|
||||
toolbarTitle = toolbar.findViewById(R.id.toolbar_title);
|
||||
toolbar_search = toolbar.findViewById(R.id.toolbar_search);
|
||||
tabLayout = findViewById(R.id.tabLayout);
|
||||
TabLayout.Tab tabHome = tabLayout.newTab();
|
||||
TabLayout.Tab tabNotif = tabLayout.newTab();
|
||||
TabLayout.Tab tabLocal = tabLayout.newTab();
|
||||
|
@ -193,23 +193,23 @@ public abstract class BaseMainActivity extends AppCompatActivity
|
|||
tabPublic.setCustomView(R.layout.tab_badge);
|
||||
|
||||
@SuppressWarnings("ConstantConditions") @SuppressLint("CutPasteId")
|
||||
ImageView iconHome = (ImageView) tabHome.getCustomView().findViewById(R.id.tab_icon);
|
||||
ImageView iconHome = tabHome.getCustomView().findViewById(R.id.tab_icon);
|
||||
iconHome.setColorFilter(ContextCompat.getColor(getApplicationContext(), R.color.dark_text), PorterDuff.Mode.SRC_IN);
|
||||
iconHome.setImageResource(R.drawable.ic_action_home_tl);
|
||||
|
||||
@SuppressWarnings("ConstantConditions") @SuppressLint("CutPasteId")
|
||||
ImageView iconNotif = (ImageView) tabNotif.getCustomView().findViewById(R.id.tab_icon);
|
||||
ImageView iconNotif = tabNotif.getCustomView().findViewById(R.id.tab_icon);
|
||||
iconNotif.setColorFilter(ContextCompat.getColor(getApplicationContext(), R.color.dark_text), PorterDuff.Mode.SRC_IN);
|
||||
iconNotif.setImageResource(R.drawable.ic_notifications_tl);
|
||||
|
||||
|
||||
@SuppressWarnings("ConstantConditions") @SuppressLint("CutPasteId")
|
||||
ImageView iconLocal = (ImageView) tabLocal.getCustomView().findViewById(R.id.tab_icon);
|
||||
ImageView iconLocal = tabLocal.getCustomView().findViewById(R.id.tab_icon);
|
||||
iconLocal.setColorFilter(ContextCompat.getColor(getApplicationContext(), R.color.dark_text), PorterDuff.Mode.SRC_IN);
|
||||
iconLocal.setImageResource(R.drawable.ic_action_users_tl);
|
||||
|
||||
@SuppressWarnings("ConstantConditions") @SuppressLint("CutPasteId")
|
||||
ImageView iconGlobal = (ImageView) tabPublic.getCustomView().findViewById(R.id.tab_icon);
|
||||
ImageView iconGlobal = tabPublic.getCustomView().findViewById(R.id.tab_icon);
|
||||
iconGlobal.setColorFilter(ContextCompat.getColor(getApplicationContext(), R.color.dark_text), PorterDuff.Mode.SRC_IN);
|
||||
iconGlobal.setImageResource(R.drawable.ic_action_globe_tl);
|
||||
|
||||
|
@ -375,14 +375,14 @@ public abstract class BaseMainActivity extends AppCompatActivity
|
|||
}
|
||||
});
|
||||
|
||||
viewPager = (ViewPager) findViewById(R.id.viewpager);
|
||||
viewPager = findViewById(R.id.viewpager);
|
||||
int countPage = 2;
|
||||
if( sharedpreferences.getBoolean(Helper.SET_DISPLAY_LOCAL, true))
|
||||
countPage++;
|
||||
if( sharedpreferences.getBoolean(Helper.SET_DISPLAY_GLOBAL, true))
|
||||
countPage++;
|
||||
viewPager.setOffscreenPageLimit(countPage);
|
||||
main_app_container = (RelativeLayout) findViewById(R.id.main_app_container);
|
||||
main_app_container = findViewById(R.id.main_app_container);
|
||||
PagerAdapter adapter = new PagerAdapter
|
||||
(getSupportFragmentManager(), tabLayout.getTabCount());
|
||||
viewPager.setAdapter(adapter);
|
||||
|
@ -406,7 +406,7 @@ public abstract class BaseMainActivity extends AppCompatActivity
|
|||
toot.setVisibility(View.VISIBLE);
|
||||
else
|
||||
toot.setVisibility(View.GONE);
|
||||
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
|
||||
DrawerLayout drawer = findViewById(R.id.drawer_layout);
|
||||
drawer.closeDrawer(GravityCompat.START);
|
||||
}
|
||||
|
||||
|
@ -421,7 +421,7 @@ public abstract class BaseMainActivity extends AppCompatActivity
|
|||
viewPager.setVisibility(View.VISIBLE);
|
||||
Helper.switchLayout(BaseMainActivity.this);
|
||||
main_app_container.setVisibility(View.GONE);
|
||||
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
|
||||
DrawerLayout drawer = findViewById(R.id.drawer_layout);
|
||||
drawer.closeDrawer(GravityCompat.START);
|
||||
}
|
||||
if( tab.getPosition() != 1 )
|
||||
|
@ -454,7 +454,7 @@ public abstract class BaseMainActivity extends AppCompatActivity
|
|||
}
|
||||
});
|
||||
|
||||
final NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
|
||||
final NavigationView navigationView = findViewById(R.id.nav_view);
|
||||
navigationView.setNavigationItemSelectedListener(this);
|
||||
|
||||
|
||||
|
@ -580,7 +580,7 @@ public abstract class BaseMainActivity extends AppCompatActivity
|
|||
//Defines the current locale of the device in a static variable
|
||||
currentLocale = Helper.currentLocale(getApplicationContext());
|
||||
|
||||
toot = (FloatingActionButton) findViewById(R.id.toot);
|
||||
toot = findViewById(R.id.toot);
|
||||
toot.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
|
@ -606,12 +606,12 @@ public abstract class BaseMainActivity extends AppCompatActivity
|
|||
options = new DisplayImageOptions.Builder().displayer(new RoundedBitmapDisplayer(20)).cacheInMemory(false)
|
||||
.cacheOnDisk(true).resetViewBeforeLoading(true).build();
|
||||
|
||||
final DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
|
||||
final DrawerLayout drawer = findViewById(R.id.drawer_layout);
|
||||
|
||||
ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
|
||||
this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);
|
||||
toggle.setDrawerIndicatorEnabled(false);
|
||||
ImageView iconbar = (ImageView) toolbar.findViewById(R.id.iconbar);
|
||||
ImageView iconbar = toolbar.findViewById(R.id.iconbar);
|
||||
iconbar.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
|
@ -621,7 +621,7 @@ public abstract class BaseMainActivity extends AppCompatActivity
|
|||
Helper.loadPictureIcon(BaseMainActivity.this, account.getAvatar(),iconbar);
|
||||
headerLayout = navigationView.getHeaderView(0);
|
||||
mamageNewIntent(getIntent());
|
||||
final ImageView menuMore = (ImageView) headerLayout.findViewById(R.id.header_option_menu);
|
||||
final ImageView menuMore = headerLayout.findViewById(R.id.header_option_menu);
|
||||
menuMore.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
|
@ -695,10 +695,10 @@ public abstract class BaseMainActivity extends AppCompatActivity
|
|||
@SuppressLint("InflateParams") View popup_quick_settings = getLayoutInflater().inflate( R.layout.popup_text_size, null );
|
||||
builder.setView(popup_quick_settings);
|
||||
|
||||
SeekBar set_text_size = (SeekBar) popup_quick_settings.findViewById(R.id.set_text_size);
|
||||
SeekBar set_icon_size = (SeekBar) popup_quick_settings.findViewById(R.id.set_icon_size);
|
||||
final TextView set_text_size_value = (TextView) popup_quick_settings.findViewById(R.id.set_text_size_value);
|
||||
final TextView set_icon_size_value = (TextView) popup_quick_settings.findViewById(R.id.set_icon_size_value);
|
||||
SeekBar set_text_size = popup_quick_settings.findViewById(R.id.set_text_size);
|
||||
SeekBar set_icon_size = popup_quick_settings.findViewById(R.id.set_icon_size);
|
||||
final TextView set_text_size_value = popup_quick_settings.findViewById(R.id.set_text_size_value);
|
||||
final TextView set_icon_size_value = popup_quick_settings.findViewById(R.id.set_icon_size_value);
|
||||
set_text_size_value.setText(String.format("%s%%",String.valueOf(textSize)));
|
||||
set_icon_size_value.setText(String.format("%s%%",String.valueOf(iconSize)));
|
||||
|
||||
|
@ -764,7 +764,7 @@ public abstract class BaseMainActivity extends AppCompatActivity
|
|||
navigationView.getMenu().findItem(R.id.nav_follow_request).setVisible(false);
|
||||
}
|
||||
|
||||
LinearLayout owner_container = (LinearLayout) headerLayout.findViewById(R.id.main_header_container);
|
||||
LinearLayout owner_container = headerLayout.findViewById(R.id.main_header_container);
|
||||
owner_container.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
|
@ -792,8 +792,8 @@ public abstract class BaseMainActivity extends AppCompatActivity
|
|||
@SuppressLint("InflateParams") View dialogView = inflater.inflate(R.layout.popup_quick_settings, null);
|
||||
dialogBuilder.setView(dialogView);
|
||||
|
||||
final SwitchCompat set_push_hometimeline = (SwitchCompat) dialogView.findViewById(R.id.set_push_hometimeline);
|
||||
final SwitchCompat set_push_notification = (SwitchCompat) dialogView.findViewById(R.id.set_push_notification);
|
||||
final SwitchCompat set_push_hometimeline = dialogView.findViewById(R.id.set_push_hometimeline);
|
||||
final SwitchCompat set_push_notification = dialogView.findViewById(R.id.set_push_notification);
|
||||
boolean notif_hometimeline = sharedpreferences.getBoolean(Helper.SET_NOTIF_HOMETIMELINE, true);
|
||||
boolean notif_follow = sharedpreferences.getBoolean(Helper.SET_NOTIF_FOLLOW, true);
|
||||
boolean notif_add = sharedpreferences.getBoolean(Helper.SET_NOTIF_ADD, true);
|
||||
|
@ -851,7 +851,7 @@ public abstract class BaseMainActivity extends AppCompatActivity
|
|||
String userIdIntent;
|
||||
boolean matchingIntent = false;
|
||||
if( extras.containsKey(INTENT_ACTION) ){
|
||||
final NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
|
||||
final NavigationView navigationView = findViewById(R.id.nav_view);
|
||||
userIdIntent = extras.getString(PREF_KEY_ID); //Id of the account in the intent
|
||||
if (extras.getInt(INTENT_ACTION) == NOTIFICATION_INTENT){
|
||||
changeUser(BaseMainActivity.this, userIdIntent, false); //Connects the account which is related to the notification
|
||||
|
@ -946,7 +946,7 @@ public abstract class BaseMainActivity extends AppCompatActivity
|
|||
|
||||
@Override
|
||||
public void onBackPressed() {
|
||||
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
|
||||
DrawerLayout drawer = findViewById(R.id.drawer_layout);
|
||||
if (drawer.isDrawerOpen(GravityCompat.START)) {
|
||||
drawer.closeDrawer(GravityCompat.START);
|
||||
} else {
|
||||
|
@ -968,7 +968,7 @@ public abstract class BaseMainActivity extends AppCompatActivity
|
|||
viewPager.setVisibility(View.VISIBLE);
|
||||
tabLayout.setVisibility(View.VISIBLE);
|
||||
toolbarTitle.setVisibility(View.GONE);
|
||||
final NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
|
||||
final NavigationView navigationView = findViewById(R.id.nav_view);
|
||||
unCheckAllMenuItems(navigationView);
|
||||
toot.setVisibility(View.VISIBLE);
|
||||
//Manages theme for icon colors
|
||||
|
@ -1079,8 +1079,10 @@ public abstract class BaseMainActivity extends AppCompatActivity
|
|||
homeFragment.refresh(status);
|
||||
}
|
||||
} else if (eventStreaming == StreamingService.EventStreaming.DELETE) {
|
||||
//noinspection unused
|
||||
String id = b.getString("id");
|
||||
if (notificationsFragment != null) {
|
||||
//noinspection StatementWithEmptyBody
|
||||
if (notificationsFragment.getUserVisibleHint()) {
|
||||
|
||||
} else {
|
||||
|
@ -1140,7 +1142,7 @@ public abstract class BaseMainActivity extends AppCompatActivity
|
|||
startActivity(remoteFollow);
|
||||
return false;
|
||||
}
|
||||
final NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
|
||||
final NavigationView navigationView = findViewById(R.id.nav_view);
|
||||
unCheckAllMenuItems(navigationView);
|
||||
item.setChecked(true);
|
||||
//Remove the search bar
|
||||
|
@ -1210,7 +1212,7 @@ public abstract class BaseMainActivity extends AppCompatActivity
|
|||
}
|
||||
|
||||
populateTitleWithTag(fragmentTag, item.getTitle().toString(), item.getItemId());
|
||||
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
|
||||
DrawerLayout drawer = findViewById(R.id.drawer_layout);
|
||||
drawer.closeDrawer(GravityCompat.START);
|
||||
return true;
|
||||
}
|
||||
|
@ -1252,6 +1254,7 @@ public abstract class BaseMainActivity extends AppCompatActivity
|
|||
protected void onActivityResult(int requestCode, int resultCode,
|
||||
Intent data) {
|
||||
super.onActivityResult(requestCode, resultCode, data);
|
||||
//noinspection StatementWithEmptyBody
|
||||
if (requestCode == ERROR_DIALOG_REQUEST_CODE) {
|
||||
// Adding a fragment via GooglePlayServicesUtil.showErrorDialogFragment
|
||||
// before the instance state is restored throws an error. So instead,
|
||||
|
@ -1320,7 +1323,7 @@ public abstract class BaseMainActivity extends AppCompatActivity
|
|||
bundle.putSerializable("type", RetrieveFeedsAsyncTask.Type.LOCAL);
|
||||
statusFragment.setArguments(bundle);
|
||||
return statusFragment;
|
||||
}else if( position == 2 && !display_local){
|
||||
}else if(position == 2){
|
||||
statusFragment = new DisplayStatusFragment();
|
||||
bundle.putSerializable("type", RetrieveFeedsAsyncTask.Type.PUBLIC);
|
||||
statusFragment.setArguments(bundle);
|
||||
|
@ -1372,7 +1375,7 @@ public abstract class BaseMainActivity extends AppCompatActivity
|
|||
View tabHome = tabLayout.getTabAt(0).getCustomView();
|
||||
if( tabHome == null)
|
||||
return;
|
||||
TextView tabCounterHome = (TextView) tabHome.findViewById(R.id.tab_counter);
|
||||
TextView tabCounterHome = tabHome.findViewById(R.id.tab_counter);
|
||||
tabCounterHome.setText(String.valueOf(countNewStatus));
|
||||
if( countNewStatus> 0){
|
||||
//New data are available
|
||||
|
@ -1390,7 +1393,7 @@ public abstract class BaseMainActivity extends AppCompatActivity
|
|||
View tabNotif = tabLayout.getTabAt(1).getCustomView();
|
||||
if( tabNotif == null)
|
||||
return;
|
||||
TextView tabCounterNotif = (TextView) tabNotif.findViewById(R.id.tab_counter);
|
||||
TextView tabCounterNotif = tabNotif.findViewById(R.id.tab_counter);
|
||||
tabCounterNotif.setText(String.valueOf(countNewNotifications));
|
||||
if( countNewNotifications > 0){
|
||||
tabCounterNotif.setVisibility(View.VISIBLE);
|
||||
|
@ -1399,17 +1402,10 @@ public abstract class BaseMainActivity extends AppCompatActivity
|
|||
}
|
||||
}
|
||||
|
||||
public static boolean isActivityVisible() {
|
||||
return activityVisible;
|
||||
}
|
||||
|
||||
private static void activityResumed() {
|
||||
activityVisible = true;
|
||||
}
|
||||
|
||||
private static void activityPaused() {
|
||||
activityVisible = false;
|
||||
}
|
||||
|
||||
private static boolean activityVisible;
|
||||
}
|
||||
|
|
|
@ -112,7 +112,6 @@ public class ShowAccountActivity extends AppCompatActivity implements OnPostActi
|
|||
private TabLayout tabLayout;
|
||||
private TextView account_note, account_follow_request;
|
||||
private String userId;
|
||||
private static int instanceValue = 0;
|
||||
private Relationship relationship;
|
||||
private boolean showMediaOnly, showPinned;
|
||||
private ImageView pp_actionBar;
|
||||
|
@ -148,7 +147,6 @@ public class ShowAccountActivity extends AppCompatActivity implements OnPostActi
|
|||
}
|
||||
setContentView(R.layout.activity_show_account);
|
||||
setTitle("");
|
||||
instanceValue += 1;
|
||||
pins = new ArrayList<>();
|
||||
Bundle b = getIntent().getExtras();
|
||||
account_follow = findViewById(R.id.account_follow);
|
||||
|
@ -673,7 +671,6 @@ public class ShowAccountActivity extends AppCompatActivity implements OnPostActi
|
|||
bundle.putBoolean("hideHeader",true);
|
||||
bundle.putBoolean("showMediaOnly",showMediaOnly);
|
||||
bundle.putBoolean("showPinned",showPinned);
|
||||
bundle.putString("hideHeaderValue",String.valueOf(instanceValue));
|
||||
displayStatusFragment.setArguments(bundle);
|
||||
return displayStatusFragment;
|
||||
case 1:
|
||||
|
@ -681,7 +678,6 @@ public class ShowAccountActivity extends AppCompatActivity implements OnPostActi
|
|||
bundle.putSerializable("type", RetrieveAccountsAsyncTask.Type.FOLLOWING);
|
||||
bundle.putString("targetedId", accountId);
|
||||
bundle.putBoolean("hideHeader",true);
|
||||
bundle.putString("hideHeaderValue",String.valueOf(instanceValue));
|
||||
displayAccountsFragment.setArguments(bundle);
|
||||
return displayAccountsFragment;
|
||||
case 2:
|
||||
|
@ -689,7 +685,6 @@ public class ShowAccountActivity extends AppCompatActivity implements OnPostActi
|
|||
bundle.putSerializable("type", RetrieveAccountsAsyncTask.Type.FOLLOWERS);
|
||||
bundle.putString("targetedId", accountId);
|
||||
bundle.putBoolean("hideHeader",true);
|
||||
bundle.putString("hideHeaderValue",String.valueOf(instanceValue));
|
||||
displayAccountsFragment.setArguments(bundle);
|
||||
return displayAccountsFragment;
|
||||
}
|
||||
|
|
|
@ -14,14 +14,12 @@ package fr.gouv.etalab.mastodon.fragments;
|
|||
* You should have received a copy of the GNU General Public License along with Mastalab; if not,
|
||||
* see <http://www.gnu.org/licenses>. */
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.SharedPreferences;
|
||||
import android.os.AsyncTask;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import android.os.Parcelable;
|
||||
import android.support.v4.app.Fragment;
|
||||
import android.support.v4.content.LocalBroadcastManager;
|
||||
import android.support.v4.view.ViewCompat;
|
||||
import android.support.v4.widget.SwipeRefreshLayout;
|
||||
import android.view.LayoutInflater;
|
||||
|
@ -66,7 +64,6 @@ public class DisplayAccountsFragment extends Fragment implements OnRetrieveAccou
|
|||
private String targetedId;
|
||||
private boolean swiped;
|
||||
private ListView lv_accounts;
|
||||
private String instanceValue;
|
||||
boolean hideHeader;
|
||||
|
||||
@Override
|
||||
|
@ -83,7 +80,6 @@ public class DisplayAccountsFragment extends Fragment implements OnRetrieveAccou
|
|||
type = (RetrieveAccountsAsyncTask.Type) bundle.get("type");
|
||||
targetedId = bundle.getString("targetedId", null);
|
||||
hideHeader = bundle.getBoolean("hideHeader", false);
|
||||
instanceValue = bundle.getString("hideHeaderValue", null);
|
||||
if( bundle.containsKey("accounts")){
|
||||
ArrayList<Parcelable> accountsReceived = bundle.getParcelableArrayList("accounts");
|
||||
assert accountsReceived != null;
|
||||
|
@ -98,13 +94,12 @@ public class DisplayAccountsFragment extends Fragment implements OnRetrieveAccou
|
|||
flag_loading = true;
|
||||
swiped = false;
|
||||
|
||||
swipeRefreshLayout = (SwipeRefreshLayout) rootView.findViewById(R.id.swipeContainer);
|
||||
SharedPreferences sharedpreferences = context.getSharedPreferences(Helper.APP_PREFS, Context.MODE_PRIVATE);
|
||||
lv_accounts = (ListView) rootView.findViewById(R.id.lv_accounts);
|
||||
swipeRefreshLayout = rootView.findViewById(R.id.swipeContainer);
|
||||
lv_accounts = rootView.findViewById(R.id.lv_accounts);
|
||||
|
||||
mainLoader = (RelativeLayout) rootView.findViewById(R.id.loader);
|
||||
nextElementLoader = (RelativeLayout) rootView.findViewById(R.id.loading_next_accounts);
|
||||
textviewNoAction = (RelativeLayout) rootView.findViewById(R.id.no_action);
|
||||
mainLoader = rootView.findViewById(R.id.loader);
|
||||
nextElementLoader = rootView.findViewById(R.id.loading_next_accounts);
|
||||
textviewNoAction = rootView.findViewById(R.id.no_action);
|
||||
mainLoader.setVisibility(View.VISIBLE);
|
||||
nextElementLoader.setVisibility(View.GONE);
|
||||
accountsListAdapter = new AccountsListAdapter(context, type, targetedId, this.accounts);
|
||||
|
@ -115,31 +110,11 @@ public class DisplayAccountsFragment extends Fragment implements OnRetrieveAccou
|
|||
if (hideHeader && Build.VERSION.SDK_INT >= 21)
|
||||
ViewCompat.setNestedScrollingEnabled(lv_accounts, true);
|
||||
lv_accounts.setOnScrollListener(new AbsListView.OnScrollListener() {
|
||||
int lastFirstVisibleItem = 0;
|
||||
@Override
|
||||
public void onScrollStateChanged(AbsListView view, int scrollState) {
|
||||
|
||||
}
|
||||
public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
|
||||
if (hideHeader && Build.VERSION.SDK_INT < 21) {
|
||||
if(firstVisibleItem == 0 && Helper.listIsAtTop(lv_accounts)){
|
||||
Intent intent = new Intent(Helper.HEADER_ACCOUNT+instanceValue);
|
||||
intent.putExtra("hide", false);
|
||||
LocalBroadcastManager.getInstance(context).sendBroadcast(intent);
|
||||
}else if (view.getId() == lv_accounts.getId() && totalItemCount > visibleItemCount) {
|
||||
final int currentFirstVisibleItem = lv_accounts.getFirstVisiblePosition();
|
||||
if (currentFirstVisibleItem > lastFirstVisibleItem) {
|
||||
Intent intent = new Intent(Helper.HEADER_ACCOUNT + instanceValue);
|
||||
intent.putExtra("hide", true);
|
||||
LocalBroadcastManager.getInstance(context).sendBroadcast(intent);
|
||||
} else if (currentFirstVisibleItem < lastFirstVisibleItem) {
|
||||
Intent intent = new Intent(Helper.HEADER_ACCOUNT + instanceValue);
|
||||
intent.putExtra("hide", false);
|
||||
LocalBroadcastManager.getInstance(context).sendBroadcast(intent);
|
||||
}
|
||||
lastFirstVisibleItem = currentFirstVisibleItem;
|
||||
}
|
||||
}
|
||||
if (firstVisibleItem + visibleItemCount == totalItemCount) {
|
||||
if (!flag_loading) {
|
||||
flag_loading = true;
|
||||
|
|
|
@ -61,6 +61,7 @@ public class DisplayStatusFragment extends Fragment implements OnRetrieveFeedsIn
|
|||
private StatusListAdapter statusListAdapter;
|
||||
private String max_id;
|
||||
private List<Status> statuses;
|
||||
private ArrayList<String> knownId;
|
||||
private RetrieveFeedsAsyncTask.Type type;
|
||||
private RelativeLayout mainLoader, nextElementLoader, textviewNoAction;
|
||||
private boolean firstLoad;
|
||||
|
@ -73,8 +74,6 @@ public class DisplayStatusFragment extends Fragment implements OnRetrieveFeedsIn
|
|||
private int behaviorWithAttachments;
|
||||
private boolean showMediaOnly, showPinned;
|
||||
private int positionSpinnerTrans;
|
||||
private boolean hideHeader;
|
||||
private String instanceValue;
|
||||
private String lastReadStatus;
|
||||
private Intent streamingFederatedIntent, streamingLocalIntent;
|
||||
|
||||
|
@ -85,17 +84,17 @@ public class DisplayStatusFragment extends Fragment implements OnRetrieveFeedsIn
|
|||
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
|
||||
View rootView = inflater.inflate(R.layout.fragment_status, container, false);
|
||||
statuses = new ArrayList<>();
|
||||
knownId = new ArrayList<>();
|
||||
context = getContext();
|
||||
Bundle bundle = this.getArguments();
|
||||
boolean comesFromSearch = false;
|
||||
hideHeader = false;
|
||||
boolean hideHeader = false;
|
||||
showMediaOnly = false;
|
||||
showPinned = false;
|
||||
if (bundle != null) {
|
||||
type = (RetrieveFeedsAsyncTask.Type) bundle.get("type");
|
||||
targetedId = bundle.getString("targetedId", null);
|
||||
tag = bundle.getString("tag", null);
|
||||
instanceValue = bundle.getString("hideHeaderValue", null);
|
||||
hideHeader = bundle.getBoolean("hideHeader", false);
|
||||
showMediaOnly = bundle.getBoolean("showMediaOnly",false);
|
||||
showPinned = bundle.getBoolean("showPinned",false);
|
||||
|
@ -104,6 +103,7 @@ public class DisplayStatusFragment extends Fragment implements OnRetrieveFeedsIn
|
|||
assert statusesReceived != null;
|
||||
for(Parcelable status: statusesReceived){
|
||||
statuses.add((Status) status);
|
||||
knownId.add(((Status) status).getId());
|
||||
}
|
||||
comesFromSearch = true;
|
||||
}
|
||||
|
@ -116,15 +116,15 @@ public class DisplayStatusFragment extends Fragment implements OnRetrieveFeedsIn
|
|||
final SharedPreferences sharedpreferences = context.getSharedPreferences(Helper.APP_PREFS, Context.MODE_PRIVATE);
|
||||
isOnWifi = Helper.isOnWIFI(context);
|
||||
positionSpinnerTrans = sharedpreferences.getInt(Helper.SET_TRANSLATOR, Helper.TRANS_YANDEX);
|
||||
swipeRefreshLayout = (SwipeRefreshLayout) rootView.findViewById(R.id.swipeContainer);
|
||||
swipeRefreshLayout = rootView.findViewById(R.id.swipeContainer);
|
||||
behaviorWithAttachments = sharedpreferences.getInt(Helper.SET_ATTACHMENT_ACTION, Helper.ATTACHMENT_ALWAYS);
|
||||
String userId = sharedpreferences.getString(Helper.PREF_KEY_ID, null);
|
||||
if( type == RetrieveFeedsAsyncTask.Type.HOME)
|
||||
lastReadStatus = sharedpreferences.getString(Helper.LAST_HOMETIMELINE_MAX_ID + userId, null);
|
||||
lv_status = (ListView) rootView.findViewById(R.id.lv_status);
|
||||
mainLoader = (RelativeLayout) rootView.findViewById(R.id.loader);
|
||||
nextElementLoader = (RelativeLayout) rootView.findViewById(R.id.loading_next_status);
|
||||
textviewNoAction = (RelativeLayout) rootView.findViewById(R.id.no_action);
|
||||
lv_status = rootView.findViewById(R.id.lv_status);
|
||||
mainLoader = rootView.findViewById(R.id.loader);
|
||||
nextElementLoader = rootView.findViewById(R.id.loading_next_status);
|
||||
textviewNoAction = rootView.findViewById(R.id.no_action);
|
||||
mainLoader.setVisibility(View.VISIBLE);
|
||||
nextElementLoader.setVisibility(View.GONE);
|
||||
statusListAdapter = new StatusListAdapter(context, type, targetedId, isOnWifi, behaviorWithAttachments, positionSpinnerTrans, this.statuses);
|
||||
|
@ -132,11 +132,10 @@ public class DisplayStatusFragment extends Fragment implements OnRetrieveFeedsIn
|
|||
if( !comesFromSearch){
|
||||
|
||||
//Hide account header when scrolling for ShowAccountActivity
|
||||
if (hideHeader )
|
||||
if (hideHeader)
|
||||
ViewCompat.setNestedScrollingEnabled(lv_status, true);
|
||||
|
||||
lv_status.setOnScrollListener(new AbsListView.OnScrollListener() {
|
||||
int lastFirstVisibleItem = 0;
|
||||
@Override
|
||||
public void onScrollStateChanged(AbsListView view, int scrollState) {
|
||||
|
||||
|
@ -166,6 +165,7 @@ public class DisplayStatusFragment extends Fragment implements OnRetrieveFeedsIn
|
|||
public void onRefresh() {
|
||||
max_id = null;
|
||||
statuses = new ArrayList<>();
|
||||
knownId = new ArrayList<>();
|
||||
firstLoad = true;
|
||||
flag_loading = true;
|
||||
swiped = true;
|
||||
|
@ -253,10 +253,6 @@ public class DisplayStatusFragment extends Fragment implements OnRetrieveFeedsIn
|
|||
}
|
||||
|
||||
if( statuses != null && statuses.size() > 0) {
|
||||
ArrayList<String> knownId = new ArrayList<>();
|
||||
for(Status st: this.statuses){
|
||||
knownId.add(st.getId());
|
||||
}
|
||||
for(Status tmpStatus: statuses){
|
||||
if( !knownId.contains(tmpStatus.getId())) {
|
||||
if( type == RetrieveFeedsAsyncTask.Type.HOME && firstLoad && lastReadStatus != null && Long.parseLong(tmpStatus.getId()) > Long.parseLong(lastReadStatus)){
|
||||
|
@ -266,6 +262,7 @@ public class DisplayStatusFragment extends Fragment implements OnRetrieveFeedsIn
|
|||
tmpStatus.setNew(false);
|
||||
}
|
||||
this.statuses.add(tmpStatus);
|
||||
knownId.add(tmpStatus.getId());
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -307,7 +304,7 @@ public class DisplayStatusFragment extends Fragment implements OnRetrieveFeedsIn
|
|||
if( type == RetrieveFeedsAsyncTask.Type.HOME) {
|
||||
if (context == null)
|
||||
return;
|
||||
if (status != null) {
|
||||
if (status != null && !knownId.contains(status.getId())) {
|
||||
//Update the id of the last toot retrieved
|
||||
MainActivity.lastHomeId = status.getId();
|
||||
int index = lv_status.getFirstVisiblePosition() + 1;
|
||||
|
@ -315,6 +312,7 @@ public class DisplayStatusFragment extends Fragment implements OnRetrieveFeedsIn
|
|||
int top = (v == null) ? 0 : v.getTop();
|
||||
status.setReplies(new ArrayList<Status>());
|
||||
statuses.add(0,status);
|
||||
knownId.add(0,status.getId());
|
||||
SharedPreferences sharedpreferences = context.getSharedPreferences(Helper.APP_PREFS, Context.MODE_PRIVATE);
|
||||
String userId = sharedpreferences.getString(Helper.PREF_KEY_ID, null);
|
||||
if( !status.getAccount().getId().equals(userId))
|
||||
|
@ -327,17 +325,21 @@ public class DisplayStatusFragment extends Fragment implements OnRetrieveFeedsIn
|
|||
}else if(type == RetrieveFeedsAsyncTask.Type.PUBLIC || type == RetrieveFeedsAsyncTask.Type.LOCAL){
|
||||
if (context == null)
|
||||
return;
|
||||
//Avoids the array to be too big...
|
||||
if (status != null) {
|
||||
if (status != null && !knownId.contains(status.getId())) {
|
||||
status.setReplies(new ArrayList<Status>());
|
||||
status.setNew(false);
|
||||
if (lv_status.getFirstVisiblePosition() == 0) {
|
||||
status.setReplies(new ArrayList<Status>());
|
||||
status.setNew(false);
|
||||
statuses.add(0, status);
|
||||
statusListAdapter.notifyDataSetChanged();
|
||||
} else {
|
||||
status.setReplies(new ArrayList<Status>());
|
||||
int index = lv_status.getFirstVisiblePosition() + 1;
|
||||
View v = lv_status.getChildAt(0);
|
||||
int top = (v == null) ? 0 : v.getTop();
|
||||
statuses.add(0, status);
|
||||
statusListAdapter.notifyDataSetChanged();
|
||||
lv_status.setSelectionFromTop(index, top);
|
||||
}
|
||||
knownId.add(0, status.getId());
|
||||
if (textviewNoAction.getVisibility() == View.VISIBLE)
|
||||
textviewNoAction.setVisibility(View.GONE);
|
||||
}
|
||||
|
@ -518,10 +520,6 @@ public class DisplayStatusFragment extends Fragment implements OnRetrieveFeedsIn
|
|||
@Override
|
||||
public void onRetrieveMissingFeeds(List<Status> statuses) {
|
||||
if( statuses != null && statuses.size() > 0) {
|
||||
ArrayList<String> knownId = new ArrayList<>();
|
||||
for (Status st : this.statuses) {
|
||||
knownId.add(st.getId());
|
||||
}
|
||||
if( lv_status.getFirstVisiblePosition() > 1 ) {
|
||||
int index = lv_status.getFirstVisiblePosition() + statuses.size();
|
||||
View v = lv_status.getChildAt(0);
|
||||
|
@ -530,6 +528,7 @@ public class DisplayStatusFragment extends Fragment implements OnRetrieveFeedsIn
|
|||
if (!knownId.contains(statuses.get(i).getId())) {
|
||||
if (type == RetrieveFeedsAsyncTask.Type.HOME)
|
||||
statuses.get(i).setNew(true);
|
||||
knownId.add(0, statuses.get(i).getId());
|
||||
statuses.get(i).setReplies(new ArrayList<Status>());
|
||||
this.statuses.add(0, statuses.get(i));
|
||||
SharedPreferences sharedpreferences = context.getSharedPreferences(Helper.APP_PREFS, Context.MODE_PRIVATE);
|
||||
|
@ -545,6 +544,7 @@ public class DisplayStatusFragment extends Fragment implements OnRetrieveFeedsIn
|
|||
if (!knownId.contains(statuses.get(i).getId())) {
|
||||
if (type == RetrieveFeedsAsyncTask.Type.HOME)
|
||||
statuses.get(i).setNew(true);
|
||||
knownId.add(0,statuses.get(i).getId());
|
||||
statuses.get(i).setReplies(new ArrayList<Status>());
|
||||
this.statuses.add(0, statuses.get(i));
|
||||
SharedPreferences sharedpreferences = context.getSharedPreferences(Helper.APP_PREFS, Context.MODE_PRIVATE);
|
||||
|
|
Loading…
Reference in New Issue