Commit 5521a14f authored by Thomas's avatar Thomas
Browse files

Some fixes

parent a5c3da14
Loading
Loading
Loading
Loading
+5 −4
Original line number Diff line number Diff line
@@ -90,7 +90,6 @@ 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;
@@ -109,6 +108,7 @@ import app.fedilab.android.client.entities.api.Status;
import app.fedilab.android.client.entities.app.Account;
import app.fedilab.android.client.entities.app.BaseAccount;
import app.fedilab.android.client.entities.app.BottomMenu;
import app.fedilab.android.client.entities.app.DomainsBlock;
import app.fedilab.android.client.entities.app.Pinned;
import app.fedilab.android.client.entities.app.PinnedTimeline;
import app.fedilab.android.databinding.ActivityMainBinding;
@@ -251,7 +251,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, MainActivity.class);
                    Intent mainActivity = new Intent(this, BaseMainActivity.class);
                    mainActivity.putExtra(Helper.INTENT_ACTION, Helper.OPEN_NOTIFICATION);
                    startActivity(mainActivity);
                    finish();
@@ -456,7 +456,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, MainActivity.class);
                                                Intent mainActivity = new Intent(this, BaseMainActivity.class);
                                                startActivity(mainActivity);
                                                finish();
                                                headerMainBinding.ownerAccounts.setImageResource(R.drawable.ic_baseline_arrow_drop_down_24);
@@ -694,7 +694,7 @@ public abstract class BaseMainActivity extends BaseActivity implements NetworkSt
        binding.toolbarSearch.setOnSearchClickListener(v -> binding.tabLayout.setVisibility(View.VISIBLE));
        //For receiving  data from other activities
        LocalBroadcastManager.getInstance(BaseMainActivity.this).registerReceiver(broadcast_data, new IntentFilter(Helper.BROADCAST_DATA));
        if (emojis == null || !emojis.containsKey(MainActivity.currentInstance)) {
        if (emojis == null || !emojis.containsKey(BaseMainActivity.currentInstance)) {
            new Thread(() -> {
                try {
                    emojis.put(currentInstance, new EmojiInstance(BaseMainActivity.this).getEmojiList(BaseMainActivity.currentInstance));
@@ -703,6 +703,7 @@ public abstract class BaseMainActivity extends BaseActivity implements NetworkSt
                }
            }).start();
        }
        DomainsBlock.updateDomains(BaseMainActivity.this);
    }


+14 −22
Original line number Diff line number Diff line
@@ -14,17 +14,18 @@ package app.fedilab.android.activities;
 * You should have received a copy of the GNU General Public License along with Fedilab; if not,
 * see <http://www.gnu.org/licenses>. */


import android.Manifest;
import android.annotation.SuppressLint;
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.database.sqlite.SQLiteDatabase;
import android.graphics.drawable.ColorDrawable;
import android.graphics.drawable.Drawable;
import android.graphics.drawable.LayerDrawable;
import android.net.Uri;
import android.os.AsyncTask;
import android.os.Build;
import android.os.Bundle;
import android.os.Handler;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
@@ -39,14 +40,13 @@ import androidx.core.content.ContextCompat;

import org.jetbrains.annotations.NotNull;

import java.util.ArrayList;
import java.util.List;

import app.fedilab.android.R;
import app.fedilab.android.databinding.ActivityWebviewBinding;
import app.fedilab.android.helper.CountDrawable;
import app.fedilab.android.helper.Helper;
import app.fedilab.android.helper.ThemeHelper;
import app.fedilab.android.sqlite.Sqlite;
import app.fedilab.android.webview.CustomWebview;
import app.fedilab.android.webview.FedilabWebChromeClient;
import app.fedilab.android.webview.FedilabWebViewClient;
@@ -55,12 +55,13 @@ import es.dmoral.toasty.Toasty;

public class WebviewActivity extends BaseActivity {

    public static List<String> trackingDomains;

    private String url;
    private boolean peertubeLink;
    private CustomWebview webView;
    private FedilabWebViewClient FedilabWebViewClient;
    private ActivityWebviewBinding binding;
    private Menu defaultMenu;

    @SuppressLint("SetJavaScriptEnabled")
    @Override
@@ -133,24 +134,12 @@ public class WebviewActivity extends BaseActivity {
        });
        if (!url.toLowerCase().startsWith("http://") && !url.toLowerCase().startsWith("https://"))
            url = "http://" + url;
        if (trackingDomains == null) {
            AsyncTask.execute(() -> {
                SQLiteDatabase db = Sqlite.getInstance(getApplicationContext(), Sqlite.DB_NAME, null, Sqlite.DB_VERSION).open();
                //    trackingDomains = new DomainBlockDAO(WebviewActivity.this, db).getAll();
                if (trackingDomains == null)
                    trackingDomains = new ArrayList<>();
                // Get a handler that can be used to post to the main thread
                Handler mainHandler = new Handler(getMainLooper());
                Runnable myRunnable = () -> webView.loadUrl(url);
                mainHandler.post(myRunnable);

            });
        } else
        webView.loadUrl(url);

    }


  /*  public void setCount(Context context, String count) {
    public void setCount(Context context, String count) {
        if (defaultMenu != null && !peertubeLink) {
            MenuItem menuItem = defaultMenu.findItem(R.id.action_block);
            LayerDrawable icon = (LayerDrawable) menuItem.getIcon();
@@ -169,17 +158,20 @@ public class WebviewActivity extends BaseActivity {
            icon.mutate();
            icon.setDrawableByLayerId(R.id.ic_block_count, badge);
        }
    }*/
    }

    @Override
    public boolean onPrepareOptionsMenu(Menu menu) {

        if (!peertubeLink)
            setCount(WebviewActivity.this, "0");
        defaultMenu = menu;
        return super.onPrepareOptionsMenu(menu);
    }

    @Override
    public boolean onCreateOptionsMenu(@NotNull Menu menu) {
        getMenuInflater().inflate(R.menu.main_webview, menu);
        defaultMenu = menu;
        if (peertubeLink) {
            menu.findItem(R.id.action_go).setVisible(false);
            menu.findItem(R.id.action_block).setVisible(false);
+15 −9
Original line number Diff line number Diff line
@@ -55,6 +55,7 @@ import app.fedilab.android.helper.ThemeHelper;
import app.fedilab.android.viewmodel.mastodon.AccountsVM;
import app.fedilab.android.viewmodel.mastodon.AdminVM;
import app.fedilab.android.viewmodel.mastodon.OauthVM;
import es.dmoral.toasty.Toasty;


public class WebviewConnectActivity extends BaseActivity {
@@ -214,6 +215,7 @@ public class WebviewConnectActivity extends BaseActivity {
                                //API call to retrieve account information for the new token
                                AccountsVM accountsVM = new ViewModelProvider(WebviewConnectActivity.this).get(AccountsVM.class);
                                accountsVM.getConnectedAccount(currentInstanceLogin, account.token).observe(WebviewConnectActivity.this, mastodonAccount -> {
                                    if (mastodonAccount != null) {
                                        account.mastodon_account = mastodonAccount;
                                        account.user_id = mastodonAccount.id;
                                        //We check if user have really moderator rights
@@ -226,6 +228,10 @@ public class WebviewConnectActivity extends BaseActivity {
                                        } else {
                                            proceedLogin(WebviewConnectActivity.this, account);
                                        }
                                    } else {
                                        Toasty.error(WebviewConnectActivity.this, getString(R.string.toast_error), Toasty.LENGTH_SHORT).show();
                                    }

                                });
                            });
                    return true;
+2 −0
Original line number Diff line number Diff line
@@ -225,12 +225,14 @@ public interface MastodonTimelinesService {
            @Query("count") int count
    );

    @Headers({"Accept: text/html,application/xhtml+xml,application/xml"})
    @GET("{names}/rss")
    Call<Nitter> getNitter(
            @Path("names") String id,
            @Query("max_position") String max_position
    );

    @Headers({"Accept: text/html,application/xhtml+xml,application/xml"})
    @GET("{account}/rss")
    Call<Nitter> getNitterAccount(
            @Path("account") String account
+4 −5
Original line number Diff line number Diff line
@@ -33,7 +33,6 @@ import java.util.List;

import app.fedilab.android.BaseMainActivity;
import app.fedilab.android.R;
import app.fedilab.android.activities.MainActivity;
import app.fedilab.android.exception.DBException;
import app.fedilab.android.sqlite.Sqlite;

@@ -218,8 +217,8 @@ public class BottomMenu implements Serializable {
            return -1;
        }
        if (bottomMenu.user_id == null) {
            bottomMenu.user_id = MainActivity.currentUserID;
            bottomMenu.instance = MainActivity.currentInstance;
            bottomMenu.user_id = BaseMainActivity.currentUserID;
            bottomMenu.instance = BaseMainActivity.currentInstance;
        }
        boolean exists = bottomMenuExists(bottomMenu);
        long idReturned;
@@ -299,8 +298,8 @@ public class BottomMenu implements Serializable {

    public BottomMenu defaultBottomMenu() {
        BottomMenu bottomMenu = new BottomMenu();
        bottomMenu.user_id = MainActivity.currentUserID;
        bottomMenu.instance = MainActivity.currentInstance;
        bottomMenu.user_id = BaseMainActivity.currentUserID;
        bottomMenu.instance = BaseMainActivity.currentInstance;
        bottomMenu.bottom_menu = new ArrayList<>();
        MenuItem menuItemHome = new MenuItem();
        menuItemHome.position = 0;
Loading