Commit eca5cecd authored by Thomas's avatar Thomas
Browse files

some changes

parent e55c1541
Loading
Loading
Loading
Loading
+24 −1
Original line number Diff line number Diff line
@@ -37,6 +37,7 @@ import android.os.Looper;
import android.text.Editable;
import android.text.Html;
import android.text.TextWatcher;
import android.util.Log;
import android.util.Patterns;
import android.view.ContextThemeWrapper;
import android.view.Gravity;
@@ -75,6 +76,7 @@ import com.bumptech.glide.load.resource.gif.GifDrawable;
import com.bumptech.glide.request.target.CustomTarget;
import com.bumptech.glide.request.transition.Transition;
import com.google.android.material.snackbar.Snackbar;
import com.google.android.material.tabs.TabLayout;
import com.jaredrummler.cyanea.Cyanea;

import java.io.File;
@@ -1135,7 +1137,28 @@ public abstract class BaseMainActivity extends BaseActivity implements NetworkSt
                    break;
            }
        }

        int selectedTab = binding.tabLayout.getSelectedTabPosition();
        TabLayout.Tab tab = binding.tabLayout.getTabAt(selectedTab);
        Log.v(Helper.TAG, "selectedTab: " + selectedTab);
        Log.v(Helper.TAG, "tab: " + tab);
        View view = null;
        if (tab != null) {
            view = tab.getCustomView();
        }
        if (view != null) {
            Log.v(Helper.TAG, "view: " + view);
            TextView counter = view.findViewById(R.id.tab_counter);
            Log.v(Helper.TAG, "counter: " + counter);
            if (counter != null) {
                if (count > 0) {
                    counter.setVisibility(View.VISIBLE);
                    counter.setText(String.valueOf(count));
                } else {
                    counter.setVisibility(View.GONE);
                    counter.setText("0");
                }
            }
        }

    }

+6 −5
Original line number Diff line number Diff line
@@ -175,20 +175,21 @@ public class StatusCache {
     * Insert or update a status
     *
     * @param statusCache {@link StatusCache}
     * @return long - db id
     * @return int - 0 if updated 1 if inserted
     * @throws DBException exception with database
     */
    public long insertOrUpdate(StatusCache statusCache, String slug) throws DBException {
    public int insertOrUpdate(StatusCache statusCache, String slug) throws DBException {
        if (db == null) {
            throw new DBException("db is null. Wrong initialization.");
        }
        statusCache.slug = slug;
        boolean exists = statusExist(statusCache);
        long idReturned;
        int idReturned = 0;
        if (exists) {
            idReturned = updateStatus(statusCache);
            updateStatus(statusCache);
        } else {
            idReturned = insertStatus(statusCache, slug);
            insertStatus(statusCache, slug);
            idReturned = 1;
        }
        return idReturned;
    }
+7 −3
Original line number Diff line number Diff line
@@ -325,7 +325,7 @@ public class FragmentMastodonTimeline extends Fragment implements StatusAdapter.
            int insertedStatus = updateStatusListWith(fetched_statuses.statuses);

            //For these directions, the app will display counters for new messages
            if (insertedStatus >= 0 && (direction == DIRECTION.FETCH_NEW || direction == DIRECTION.SCROLL_TOP)) {
            if (insertedStatus >= 0 && update != null && (direction == DIRECTION.FETCH_NEW || direction == DIRECTION.SCROLL_TOP)) {
                update.onUpdate(insertedStatus, timelineType, slug);
            }
            if (direction == DIRECTION.TOP && fetchingMissing) {
@@ -424,7 +424,8 @@ public class FragmentMastodonTimeline extends Fragment implements StatusAdapter.
        mLayoutManager.setOrientation(LinearLayoutManager.VERTICAL);
        binding.recyclerView.setLayoutManager(mLayoutManager);
        binding.recyclerView.setAdapter(statusAdapter);

        //Fetching new messages
        route(DIRECTION.FETCH_NEW, true);

        if (searchCache == null && timelineType != Timeline.TimeLineEnum.TREND_MESSAGE) {
            binding.recyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {
@@ -460,6 +461,7 @@ public class FragmentMastodonTimeline extends Fragment implements StatusAdapter.
                }
            });
        }

    }

    /**
@@ -484,8 +486,10 @@ public class FragmentMastodonTimeline extends Fragment implements StatusAdapter.
                            if (!timelineStatuses.contains(statusReceived) && !statusReceived.pinned && timelineType != Timeline.TimeLineEnum.ACCOUNT_TIMELINE) {
                                timelineStatuses.add(position, statusReceived);
                                statusAdapter.notifyItemInserted(position);
                                if (!statusReceived.cached) {
                                    insertedStatus++;
                                }
                            }
                            break;
                        }
                        position++;
+4 −1
Original line number Diff line number Diff line
@@ -428,7 +428,10 @@ public class TimelinesVM extends AndroidViewModel {
                                statusCache.type = timelineParams.type;
                                statusCache.status_id = status.id;
                                try {
                                    statusCacheDAO.insertOrUpdate(statusCache, timelineParams.slug);
                                    int inserted = statusCacheDAO.insertOrUpdate(statusCache, timelineParams.slug);
                                    if (inserted == 0) {
                                        status.cached = true;
                                    }
                                } catch (DBException e) {
                                    e.printStackTrace();
                                }
+18 −0
Original line number Diff line number Diff line
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_height="wrap_content">

    <androidx.appcompat.widget.AppCompatImageView
@@ -8,4 +9,21 @@
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true" />

    <TextView
        android:id="@+id/tab_counter"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignTop="@+id/icon"
        android:layout_alignEnd="@+id/icon"
        android:layout_alignParentTop="true"
        android:layout_alignParentEnd="true"
        android:background="@drawable/shape_counter"
        android:paddingLeft="2dp"
        android:paddingRight="2dp"
        android:textColor="?mTextColor"
        android:textSize="12sp"
        android:visibility="gone"
        tools:text="35"
        tools:visibility="visible" />
</RelativeLayout>
Loading