Commit 795cec2a authored by Thomas's avatar Thomas
Browse files

Improve top bar

parent 6fea7bbe
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -90,6 +90,7 @@ import app.fedilab.android.activities.FollowRequestActivity;
import app.fedilab.android.activities.InstanceActivity;
import app.fedilab.android.activities.InstanceHealthActivity;
import app.fedilab.android.activities.LoginActivity;
import app.fedilab.android.activities.MainActivity;
import app.fedilab.android.activities.MastodonListActivity;
import app.fedilab.android.activities.PartnerShipActivity;
import app.fedilab.android.activities.ProfileActivity;
@@ -251,7 +252,7 @@ public abstract class BaseMainActivity extends BaseActivity implements NetworkSt
                    SharedPreferences.Editor editor = sharedpreferences.edit();
                    editor.putString(PREF_USER_TOKEN, account.token);
                    editor.commit();
                    Intent mainActivity = new Intent(this, BaseMainActivity.class);
                    Intent mainActivity = new Intent(this, MainActivity.class);
                    mainActivity.putExtra(Helper.INTENT_ACTION, Helper.OPEN_NOTIFICATION);
                    startActivity(mainActivity);
                    finish();
@@ -456,7 +457,7 @@ public abstract class BaseMainActivity extends BaseActivity implements NetworkSt
                                                editor.commit();
                                                //The user is now aut
                                                //The user is now authenticated, it will be redirected to MainActivity
                                                Intent mainActivity = new Intent(this, BaseMainActivity.class);
                                                Intent mainActivity = new Intent(this, MainActivity.class);
                                                startActivity(mainActivity);
                                                finish();
                                                headerMainBinding.ownerAccounts.setImageResource(R.drawable.ic_baseline_arrow_drop_down_24);
+1 −1
Original line number Diff line number Diff line
@@ -100,7 +100,7 @@ public class WebviewConnectActivity extends BaseActivity {
                editor.commit();
                //The user is now authenticated, it will be redirected to MainActivity
                Runnable myRunnable = () -> {
                    Intent mainActivity = new Intent(activity, BaseMainActivity.class);
                    Intent mainActivity = new Intent(activity, MainActivity.class);
                    activity.startActivity(mainActivity);
                    activity.finish();
                };
+2 −1
Original line number Diff line number Diff line
@@ -124,6 +124,7 @@ import app.fedilab.android.BaseMainActivity;
import app.fedilab.android.MainApplication;
import app.fedilab.android.R;
import app.fedilab.android.activities.LoginActivity;
import app.fedilab.android.activities.MainActivity;
import app.fedilab.android.activities.WebviewActivity;
import app.fedilab.android.broadcastreceiver.ToastMessage;
import app.fedilab.android.client.entities.api.Attachment;
@@ -906,7 +907,7 @@ public class Helper {
            BaseMainActivity.currentToken = newAccount.token;
            BaseMainActivity.currentInstance = newAccount.instance;
            editor.commit();
            Intent changeAccount = new Intent(activity, BaseMainActivity.class);
            Intent changeAccount = new Intent(activity, MainActivity.class);
            changeAccount.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
            activity.startActivity(changeAccount);
        }
+2 −1
Original line number Diff line number Diff line
@@ -49,6 +49,7 @@ import java.util.concurrent.TimeUnit;

import app.fedilab.android.BaseMainActivity;
import app.fedilab.android.R;
import app.fedilab.android.activities.MainActivity;
import app.fedilab.android.client.endpoints.MastodonNotificationsService;
import app.fedilab.android.client.entities.api.Notification;
import app.fedilab.android.client.entities.api.Notifications;
@@ -283,7 +284,7 @@ public class NotificationsHelper {
            }
            if (message != null) {
                //Some others notification
                final Intent intent = new Intent(context, BaseMainActivity.class);
                final Intent intent = new Intent(context, MainActivity.class);
                intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);
                intent.putExtra(Helper.INTENT_ACTION, Helper.NOTIFICATION_INTENT);
                intent.putExtra(Helper.PREF_KEY_ID, account.user_id);
+47 −5
Original line number Diff line number Diff line
@@ -52,6 +52,7 @@ import app.fedilab.android.client.entities.app.RemoteInstance;
import app.fedilab.android.client.entities.app.TagTimeline;
import app.fedilab.android.client.entities.app.Timeline;
import app.fedilab.android.databinding.ActivityMainBinding;
import app.fedilab.android.databinding.TabCustomViewBinding;
import app.fedilab.android.exception.DBException;
import app.fedilab.android.ui.fragment.timeline.FragmentMastodonConversation;
import app.fedilab.android.ui.fragment.timeline.FragmentMastodonTimeline;
@@ -149,9 +150,13 @@ public class PinnedTimelineHelper {
        //Small hack to hide first tabs (they represent the item of the bottom menu)
        int toRemove = itemToRemoveInBottomMenu(activity);
        List<String> tabTitle = new ArrayList<>();
        List<RemoteInstance.InstanceType> tabTypeRemote = new ArrayList<>();
        List<Timeline.TimeLineEnum> tabType = new ArrayList<>();
        for (int i = 0; i < (BOTTOM_TIMELINE_COUNT - toRemove); i++) {
            activityMainBinding.tabLayout.addTab(activityMainBinding.tabLayout.newTab());
            tabTitle.add("");
            tabType.add(Timeline.TimeLineEnum.HOME);
            tabTypeRemote.add(RemoteInstance.InstanceType.MASTODON);
            ((ViewGroup) activityMainBinding.tabLayout.getChildAt(0)).getChildAt(i).setVisibility(View.GONE);
        }
        List<PinnedTimeline> pinnedTimelineVisibleList = new ArrayList<>();
@@ -166,9 +171,6 @@ public class PinnedTimelineHelper {
                        break;
                    case TAG:
                        name = pinnedTimeline.tagTimeline.name;
                        if (!name.startsWith("#")) {
                            name = "#" + name;
                        }
                        break;
                    case REMOTE:
                        name = pinnedTimeline.remoteInstance.host;
@@ -177,8 +179,13 @@ public class PinnedTimelineHelper {
                TextView tv = (TextView) LayoutInflater.from(activity).inflate(R.layout.custom_tab_instance, new LinearLayout(activity), false);
                tv.setText(name);
                tabTitle.add(name);
                tabType.add(pinnedTimeline.type);
                if (pinnedTimeline.type == Timeline.TimeLineEnum.REMOTE) {
                    tabTypeRemote.add(pinnedTimeline.remoteInstance.type);
                } else {
                    tabTypeRemote.add(null);
                }
                tab.setCustomView(tv);

                activityMainBinding.tabLayout.addTab(tab);
                pinnedTimelineVisibleList.add(pinnedTimeline);
            }
@@ -225,7 +232,42 @@ public class PinnedTimelineHelper {
            }
        });
        new TabLayoutMediator(activityMainBinding.tabLayout, activityMainBinding.viewPager,
                (tab, position) -> tab.setText(tabTitle.get(position))
                (tab, position) -> {
                    TabCustomViewBinding tabCustomViewBinding = TabCustomViewBinding.inflate(activity.getLayoutInflater());
                    tabCustomViewBinding.title.setText(tabTitle.get(position));
                    switch (tabType.get(position)) {
                        case LIST:
                            tabCustomViewBinding.icon.setImageResource(R.drawable.ic_tl_list);
                            break;
                        case TAG:
                            tabCustomViewBinding.icon.setImageResource(R.drawable.ic_tl_tag);
                            break;
                        case REMOTE:
                            switch (tabTypeRemote.get(position)) {
                                case PIXELFED:
                                    tabCustomViewBinding.icon.setImageResource(R.drawable.pixelfed);
                                    break;
                                case MASTODON:
                                    tabCustomViewBinding.icon.setImageResource(R.drawable.mastodon_icon_item);
                                    break;

                                case MISSKEY:
                                    tabCustomViewBinding.icon.setImageResource(R.drawable.misskey);
                                    break;
                                case NITTER:
                                    tabCustomViewBinding.icon.setImageResource(R.drawable.nitter);
                                    break;
                                case GNU:
                                    tabCustomViewBinding.icon.setImageResource(R.drawable.ic_gnu_social);
                                    break;
                                case PEERTUBE:
                                    tabCustomViewBinding.icon.setImageResource(R.drawable.peertube_icon);
                                    break;
                            }
                            break;
                    }
                    tab.setCustomView(tabCustomViewBinding.getRoot());
                }
        ).attach();

        activityMainBinding.tabLayout.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
Loading