mirror of
				https://framagit.org/tom79/fedilab-tube
				synced 2025-06-05 21:09:11 +02:00 
			
		
		
		
	Some changes
This commit is contained in:
		
							
								
								
									
										17
									
								
								.github/stale.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								.github/stale.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,17 @@
 | 
			
		||||
# Number of days of inactivity before an issue becomes stale
 | 
			
		||||
daysUntilStale: 60
 | 
			
		||||
# Number of days of inactivity before a stale issue is closed
 | 
			
		||||
daysUntilClose: 7
 | 
			
		||||
# Issues with these labels will never be considered stale
 | 
			
		||||
exemptLabels:
 | 
			
		||||
  - pinned
 | 
			
		||||
  - security
 | 
			
		||||
# Label to use when marking an issue as stale
 | 
			
		||||
staleLabel: inactive
 | 
			
		||||
# Comment to post when marking an issue as stale. Set to `false` to disable
 | 
			
		||||
markComment: >
 | 
			
		||||
  This issue has been automatically marked as stale because it has not had
 | 
			
		||||
  recent activity. It will be closed if no further activity occurs. Thank you
 | 
			
		||||
  for your contributions.
 | 
			
		||||
# Comment to post when closing a stale issue. Set to `false` to disable
 | 
			
		||||
closeComment: false
 | 
			
		||||
@@ -24,6 +24,7 @@ import android.text.style.ForegroundColorSpan;
 | 
			
		||||
import android.text.style.UnderlineSpan;
 | 
			
		||||
import android.view.Menu;
 | 
			
		||||
import android.view.MenuItem;
 | 
			
		||||
import android.view.View;
 | 
			
		||||
import android.widget.Button;
 | 
			
		||||
import android.widget.ImageView;
 | 
			
		||||
import android.widget.TextView;
 | 
			
		||||
@@ -76,11 +77,11 @@ public class AccountActivity extends AppCompatActivity {
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        SQLiteDatabase db = Sqlite.getInstance(getApplicationContext(), Sqlite.DB_NAME, null, Sqlite.DB_VERSION).open();
 | 
			
		||||
        String token = Helper.getToken(AccountActivity.this);
 | 
			
		||||
        SharedPreferences sharedpreferences = getSharedPreferences(Helper.APP_PREFS, MODE_PRIVATE);
 | 
			
		||||
        String token = sharedpreferences.getString(Helper.PREF_KEY_OAUTH_TOKEN, null);
 | 
			
		||||
 | 
			
		||||
        TextView instanceView = findViewById(R.id.instance);
 | 
			
		||||
        Account account = new AccountDAO(AccountActivity.this, db).getAccountByToken(token);
 | 
			
		||||
 | 
			
		||||
        if (account == null) {
 | 
			
		||||
            Helper.logoutCurrentUser(AccountActivity.this, null);
 | 
			
		||||
            return;
 | 
			
		||||
@@ -121,76 +122,80 @@ public class AccountActivity extends AppCompatActivity {
 | 
			
		||||
 | 
			
		||||
        tabLayout = findViewById(R.id.account_tabLayout);
 | 
			
		||||
        mPager = findViewById(R.id.account_viewpager);
 | 
			
		||||
        tabLayout.addTab(tabLayout.newTab().setText(getString(R.string.title_notifications)));
 | 
			
		||||
        tabLayout.addTab(tabLayout.newTab().setText(getString(R.string.title_muted)));
 | 
			
		||||
        tabLayout.addTab(tabLayout.newTab().setText(getString(R.string.title_channel)));
 | 
			
		||||
 | 
			
		||||
        if (Helper.isLoggedIn(AccountActivity.this)) {
 | 
			
		||||
            tabLayout.addTab(tabLayout.newTab().setText(getString(R.string.title_notifications)));
 | 
			
		||||
            tabLayout.addTab(tabLayout.newTab().setText(getString(R.string.title_muted)));
 | 
			
		||||
            tabLayout.addTab(tabLayout.newTab().setText(getString(R.string.title_channel)));
 | 
			
		||||
 | 
			
		||||
            mPager.setOffscreenPageLimit(3);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        mPager.setOffscreenPageLimit(3);
 | 
			
		||||
            mPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
 | 
			
		||||
                @Override
 | 
			
		||||
                public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        mPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
 | 
			
		||||
            @Override
 | 
			
		||||
            public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
 | 
			
		||||
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            @Override
 | 
			
		||||
            public void onPageSelected(int position) {
 | 
			
		||||
                TabLayout.Tab tab = tabLayout.getTabAt(position);
 | 
			
		||||
                if (tab != null)
 | 
			
		||||
                    tab.select();
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            @Override
 | 
			
		||||
            public void onPageScrollStateChanged(int state) {
 | 
			
		||||
 | 
			
		||||
            }
 | 
			
		||||
        });
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        tabLayout.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
 | 
			
		||||
            @Override
 | 
			
		||||
            public void onTabSelected(TabLayout.Tab tab) {
 | 
			
		||||
                mPager.setCurrentItem(tab.getPosition());
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            @Override
 | 
			
		||||
            public void onTabUnselected(TabLayout.Tab tab) {
 | 
			
		||||
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            @Override
 | 
			
		||||
            public void onTabReselected(TabLayout.Tab tab) {
 | 
			
		||||
                Fragment fragment = null;
 | 
			
		||||
                if (mPager.getAdapter() != null)
 | 
			
		||||
                    fragment = (Fragment) mPager.getAdapter().instantiateItem(mPager, tab.getPosition());
 | 
			
		||||
                switch (tab.getPosition()) {
 | 
			
		||||
                    case 0:
 | 
			
		||||
                        if (fragment != null) {
 | 
			
		||||
                            DisplayNotificationsFragment displayNotificationsFragment = ((DisplayNotificationsFragment) fragment);
 | 
			
		||||
                            displayNotificationsFragment.scrollToTop();
 | 
			
		||||
                        }
 | 
			
		||||
                        break;
 | 
			
		||||
                    case 1:
 | 
			
		||||
                        if (fragment != null) {
 | 
			
		||||
                            DisplayAccountsFragment displayAccountsFragment = ((DisplayAccountsFragment) fragment);
 | 
			
		||||
                            displayAccountsFragment.scrollToTop();
 | 
			
		||||
                        }
 | 
			
		||||
                        break;
 | 
			
		||||
                    case 2:
 | 
			
		||||
                        if (fragment != null) {
 | 
			
		||||
                            DisplayChannelsFragment displayChannelsFragment = ((DisplayChannelsFragment) fragment);
 | 
			
		||||
                            displayChannelsFragment.scrollToTop();
 | 
			
		||||
                        }
 | 
			
		||||
                        break;
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
        });
 | 
			
		||||
 | 
			
		||||
        PagerAdapter mPagerAdapter = new AccountsPagerAdapter(getSupportFragmentManager());
 | 
			
		||||
        mPager.setAdapter(mPagerAdapter);
 | 
			
		||||
                @Override
 | 
			
		||||
                public void onPageSelected(int position) {
 | 
			
		||||
                    TabLayout.Tab tab = tabLayout.getTabAt(position);
 | 
			
		||||
                    if (tab != null)
 | 
			
		||||
                        tab.select();
 | 
			
		||||
                }
 | 
			
		||||
 | 
			
		||||
                @Override
 | 
			
		||||
                public void onPageScrollStateChanged(int state) {
 | 
			
		||||
 | 
			
		||||
                }
 | 
			
		||||
            });
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
            tabLayout.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
 | 
			
		||||
                @Override
 | 
			
		||||
                public void onTabSelected(TabLayout.Tab tab) {
 | 
			
		||||
                    mPager.setCurrentItem(tab.getPosition());
 | 
			
		||||
                }
 | 
			
		||||
 | 
			
		||||
                @Override
 | 
			
		||||
                public void onTabUnselected(TabLayout.Tab tab) {
 | 
			
		||||
 | 
			
		||||
                }
 | 
			
		||||
 | 
			
		||||
                @Override
 | 
			
		||||
                public void onTabReselected(TabLayout.Tab tab) {
 | 
			
		||||
                    Fragment fragment = null;
 | 
			
		||||
                    if (mPager.getAdapter() != null)
 | 
			
		||||
                        fragment = (Fragment) mPager.getAdapter().instantiateItem(mPager, tab.getPosition());
 | 
			
		||||
                    switch (tab.getPosition()) {
 | 
			
		||||
                        case 0:
 | 
			
		||||
                            if (fragment != null) {
 | 
			
		||||
                                DisplayNotificationsFragment displayNotificationsFragment = ((DisplayNotificationsFragment) fragment);
 | 
			
		||||
                                displayNotificationsFragment.scrollToTop();
 | 
			
		||||
                            }
 | 
			
		||||
                            break;
 | 
			
		||||
                        case 1:
 | 
			
		||||
                            if (fragment != null) {
 | 
			
		||||
                                DisplayAccountsFragment displayAccountsFragment = ((DisplayAccountsFragment) fragment);
 | 
			
		||||
                                displayAccountsFragment.scrollToTop();
 | 
			
		||||
                            }
 | 
			
		||||
                            break;
 | 
			
		||||
                        case 2:
 | 
			
		||||
                            if (fragment != null) {
 | 
			
		||||
                                DisplayChannelsFragment displayChannelsFragment = ((DisplayChannelsFragment) fragment);
 | 
			
		||||
                                displayChannelsFragment.scrollToTop();
 | 
			
		||||
                            }
 | 
			
		||||
                            break;
 | 
			
		||||
                    }
 | 
			
		||||
                }
 | 
			
		||||
            });
 | 
			
		||||
 | 
			
		||||
            PagerAdapter mPagerAdapter = new AccountsPagerAdapter(getSupportFragmentManager());
 | 
			
		||||
            mPager.setAdapter(mPagerAdapter);
 | 
			
		||||
        } else {
 | 
			
		||||
            tabLayout.setVisibility(View.GONE);
 | 
			
		||||
            mPager.setVisibility(View.GONE);
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
 
 | 
			
		||||
@@ -360,11 +360,14 @@ public class LoginActivity extends AppCompatActivity {
 | 
			
		||||
    private void proceedLogin(Token token, String host, String software) {
 | 
			
		||||
        runOnUiThread(() -> {
 | 
			
		||||
            if (token != null) {
 | 
			
		||||
                boolean remote_account = software != null && software.toUpperCase().trim().compareTo("PEERTUBE") != 0;
 | 
			
		||||
                SharedPreferences sharedpreferences = getSharedPreferences(Helper.APP_PREFS, MODE_PRIVATE);
 | 
			
		||||
                SharedPreferences.Editor editor = sharedpreferences.edit();
 | 
			
		||||
                editor.putString(Helper.PREF_KEY_OAUTH_TOKEN, token.getAccess_token());
 | 
			
		||||
                editor.putString(Helper.PREF_SOFTWARE, software != null && software.toUpperCase().trim().compareTo("PEERTUBE") != 0 ? software : null);
 | 
			
		||||
                editor.putString(Helper.PREF_INSTANCE, host);
 | 
			
		||||
                editor.putString(Helper.PREF_SOFTWARE, remote_account ? software : null);
 | 
			
		||||
                if (!remote_account) {
 | 
			
		||||
                    editor.putString(Helper.PREF_INSTANCE, host);
 | 
			
		||||
                }
 | 
			
		||||
                editor.commit();
 | 
			
		||||
                //Update the account with the token;
 | 
			
		||||
                updateCredential(LoginActivity.this, token.getAccess_token(), client_id, client_secret, token.getRefresh_token(), host, software);
 | 
			
		||||
 
 | 
			
		||||
@@ -100,6 +100,7 @@ import su.litvak.chromecast.api.v2.MediaStatus;
 | 
			
		||||
 | 
			
		||||
import static app.fedilab.fedilabtube.MainActivity.TypeOfConnection.NORMAL;
 | 
			
		||||
import static app.fedilab.fedilabtube.MainActivity.TypeOfConnection.SURFING;
 | 
			
		||||
import static app.fedilab.fedilabtube.helper.Helper.isLoggedInType;
 | 
			
		||||
import static app.fedilab.fedilabtube.helper.Helper.peertubeInformation;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@@ -320,6 +321,7 @@ public class MainActivity extends AppCompatActivity implements ChromeCastsListen
 | 
			
		||||
                            int tryFind = 0;
 | 
			
		||||
                            while (ChromeCasts.get().isEmpty() && tryFind < 5) {
 | 
			
		||||
                                try {
 | 
			
		||||
                                    //noinspection BusyWait
 | 
			
		||||
                                    Thread.sleep(1000);
 | 
			
		||||
                                    tryFind++;
 | 
			
		||||
                                } catch (InterruptedException ignored) {
 | 
			
		||||
@@ -710,6 +712,7 @@ public class MainActivity extends AppCompatActivity implements ChromeCastsListen
 | 
			
		||||
                mostLikedItem.setVisible(false);
 | 
			
		||||
                incognitoItem.setVisible(false);
 | 
			
		||||
                break;
 | 
			
		||||
            case REMOTE_ACCOUNT:
 | 
			
		||||
            case NORMAL:
 | 
			
		||||
                accountItem.setVisible(true);
 | 
			
		||||
                if (Helper.isLoggedIn(MainActivity.this)) {
 | 
			
		||||
@@ -763,7 +766,7 @@ public class MainActivity extends AppCompatActivity implements ChromeCastsListen
 | 
			
		||||
        new Thread(() -> {
 | 
			
		||||
            try {
 | 
			
		||||
                typeOfConnection = NORMAL;
 | 
			
		||||
                if (!Helper.isLoggedIn(MainActivity.this)) {
 | 
			
		||||
                if (!Helper.canMakeAction(MainActivity.this)) {
 | 
			
		||||
                    SQLiteDatabase db = Sqlite.getInstance(getApplicationContext(), Sqlite.DB_NAME, null, Sqlite.DB_VERSION).open();
 | 
			
		||||
                    List<Account> accounts = new AccountDAO(MainActivity.this, db).getAllAccount();
 | 
			
		||||
                    if (accounts != null && accounts.size() > 0) {
 | 
			
		||||
 
 | 
			
		||||
@@ -89,7 +89,9 @@ public class MastodonWebviewConnectActivity extends AppCompatActivity {
 | 
			
		||||
        }
 | 
			
		||||
        if (instance == null)
 | 
			
		||||
            finish();
 | 
			
		||||
 | 
			
		||||
        if (getSupportActionBar() != null)
 | 
			
		||||
            getSupportActionBar().setDisplayHomeAsUpEnabled(true);
 | 
			
		||||
        setTitle(R.string.login);
 | 
			
		||||
        webView = findViewById(R.id.webviewConnect);
 | 
			
		||||
        clearCookies(MastodonWebviewConnectActivity.this);
 | 
			
		||||
        webView.getSettings().setJavaScriptEnabled(true);
 | 
			
		||||
 
 | 
			
		||||
@@ -91,7 +91,9 @@ public class WebviewConnectActivity extends AppCompatActivity {
 | 
			
		||||
        } else {
 | 
			
		||||
            CookieManager.getInstance().setAcceptCookie(true);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        if (getSupportActionBar() != null)
 | 
			
		||||
            getSupportActionBar().setDisplayHomeAsUpEnabled(true);
 | 
			
		||||
        setTitle(R.string.login);
 | 
			
		||||
 | 
			
		||||
        final ProgressBar pbar = findViewById(R.id.progress_bar);
 | 
			
		||||
        webView.setWebChromeClient(new WebChromeClient() {
 | 
			
		||||
 
 | 
			
		||||
@@ -69,7 +69,9 @@ public class RetrofitMastodonAPI {
 | 
			
		||||
            SharedPreferences.Editor editor = sharedpreferences.edit();
 | 
			
		||||
            editor.putString(Helper.PREF_KEY_ID, account.getId());
 | 
			
		||||
            editor.putString(Helper.PREF_KEY_NAME, account.getUsername());
 | 
			
		||||
            editor.putString(Helper.PREF_KEY_OAUTH_TOKEN, token);
 | 
			
		||||
            if (token != null) {
 | 
			
		||||
                editor.putString(Helper.PREF_KEY_OAUTH_TOKEN, token);
 | 
			
		||||
            }
 | 
			
		||||
            editor.putString(Helper.PREF_SOFTWARE, software);
 | 
			
		||||
            editor.apply();
 | 
			
		||||
            if (userExists) {
 | 
			
		||||
 
 | 
			
		||||
@@ -165,7 +165,8 @@ public class RetrofitPeertubeAPI {
 | 
			
		||||
            SharedPreferences.Editor editor = sharedpreferences.edit();
 | 
			
		||||
            editor.putString(Helper.PREF_KEY_ID, account.getId());
 | 
			
		||||
            editor.putString(Helper.PREF_KEY_NAME, account.getUsername());
 | 
			
		||||
            if (!host.startsWith("tube")) {
 | 
			
		||||
            boolean remote_account = software != null && software.toUpperCase().trim().compareTo("PEERTUBE") != 0;
 | 
			
		||||
            if (!remote_account) {
 | 
			
		||||
                editor.putString(Helper.PREF_INSTANCE, host);
 | 
			
		||||
            }
 | 
			
		||||
            editor.apply();
 | 
			
		||||
 
 | 
			
		||||
@@ -507,7 +507,7 @@ public class Helper {
 | 
			
		||||
     * @param context Context
 | 
			
		||||
     * @return MainActivity.TypeOfConnection
 | 
			
		||||
     */
 | 
			
		||||
    private static MainActivity.TypeOfConnection isLoggedInType(Context context) {
 | 
			
		||||
    public static MainActivity.TypeOfConnection isLoggedInType(Context context) {
 | 
			
		||||
        SharedPreferences sharedpreferences = context.getSharedPreferences(Helper.APP_PREFS, MODE_PRIVATE);
 | 
			
		||||
        String prefKeyOauthTokenT = sharedpreferences.getString(PREF_KEY_OAUTH_TOKEN, null);
 | 
			
		||||
        String prefSoftware = sharedpreferences.getString(PREF_SOFTWARE, null);
 | 
			
		||||
 
 | 
			
		||||
@@ -53,10 +53,13 @@ public class SwitchAccountHelper {
 | 
			
		||||
            builderSingle.setAdapter(accountsListAdapter, (dialog, which) -> {
 | 
			
		||||
                final AccountData.Account account = accountArray[which];
 | 
			
		||||
                SharedPreferences sharedpreferences = activity.getSharedPreferences(Helper.APP_PREFS, MODE_PRIVATE);
 | 
			
		||||
                boolean remote_account = account.getSoftware() != null && account.getSoftware().toUpperCase().trim().compareTo("PEERTUBE") != 0;
 | 
			
		||||
                SharedPreferences.Editor editor = sharedpreferences.edit();
 | 
			
		||||
                editor.putString(Helper.PREF_KEY_OAUTH_TOKEN, account.getToken());
 | 
			
		||||
                editor.putString(Helper.PREF_SOFTWARE, account.getSoftware() != null && account.getSoftware().trim().toUpperCase().compareTo("PEERTUBE") != 0 ? account.getSoftware() : null);
 | 
			
		||||
                editor.putString(Helper.PREF_INSTANCE, account.getHost());
 | 
			
		||||
                editor.putString(Helper.PREF_SOFTWARE, remote_account ? account.getSoftware() : null);
 | 
			
		||||
                if (!remote_account) {
 | 
			
		||||
                    editor.putString(Helper.PREF_INSTANCE, account.getHost());
 | 
			
		||||
                }
 | 
			
		||||
                editor.putString(Helper.PREF_KEY_ID, account.getId());
 | 
			
		||||
                editor.putString(Helper.PREF_KEY_NAME, account.getUsername());
 | 
			
		||||
                editor.apply();
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user