gradle dependency update, renamed classes, tweet filter update

This commit is contained in:
nuclearfog 2022-08-13 14:50:10 +02:00
parent 8988109707
commit 56c2fc50bf
No known key found for this signature in database
GPG Key ID: AA0271FBE406DB98
5 changed files with 29 additions and 21 deletions

View File

@ -56,7 +56,7 @@ proguardDictionaries {
}
dependencies {
implementation 'androidx.appcompat:appcompat:1.4.2'
implementation 'androidx.appcompat:appcompat:1.5.0'
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
implementation 'androidx.vectordrawable:vectordrawable:1.1.0'
implementation 'com.google.android.material:material:1.6.1'

View File

@ -1758,11 +1758,19 @@ public class Twitter implements GlobalSettings.SettingsListener {
* filter tweets from blocked users
*/
private void filterTweets(List<Tweet> tweets) {
Set<Long> exclude = filterDatabase.getExcludeSet();
Set<Long> excludedIds = filterDatabase.getFilteredUserIds();
for (int pos = tweets.size() - 1; pos >= 0; pos--) {
if (exclude.contains(tweets.get(pos).getAuthor().getId())) {
long authorId = tweets.get(pos).getAuthor().getId();
Tweet embeddedTweet = tweets.get(pos).getEmbeddedTweet();
if (excludedIds.contains(authorId)) {
tweets.remove(pos);
}
else if (embeddedTweet != null) {
authorId = embeddedTweet.getAuthor().getId();
if (excludedIds.contains(authorId)) {
tweets.remove(pos);
}
}
}
}
@ -1770,7 +1778,7 @@ public class Twitter implements GlobalSettings.SettingsListener {
* remove blocked users from list
*/
private void filterUsers(List<User> users) {
Set<Long> exclude = filterDatabase.getExcludeSet();
Set<Long> exclude = filterDatabase.getFilteredUserIds();
for (int pos = users.size() - 1; pos >= 0; pos--) {
if (exclude.contains(users.get(pos).getId())) {
users.remove(pos);

View File

@ -21,7 +21,7 @@ import java.util.List;
*
* @author nuclearfog
*/
public class UserExcludeLoader extends AsyncTask<String, Void, Void> {
public class FilterLoader extends AsyncTask<String, Void, Void> {
/**
* refresh exclude list
@ -48,7 +48,7 @@ public class UserExcludeLoader extends AsyncTask<String, Void, Void> {
private int mode;
public UserExcludeLoader(UsersActivity activity, int mode) {
public FilterLoader(UsersActivity activity, int mode) {
super();
twitter = Twitter.get(activity);
appDatabase = new AppDatabase(activity);
@ -64,7 +64,7 @@ public class UserExcludeLoader extends AsyncTask<String, Void, Void> {
switch (mode) {
case REFRESH:
List<Long> ids = twitter.getIdBlocklist();
filterDatabase.setExcludeList(ids);
filterDatabase.setFilteredUserIds(ids);
break;
case MUTE_USER:

View File

@ -47,11 +47,11 @@ public class FilterDatabase {
}
/**
* replace exclude list with a new version
* create a new filterlist containing user IDs
*
* @param ids list of user IDs
*/
public void setExcludeList(List<Long> ids) {
public void setFilteredUserIds(List<Long> ids) {
long homeId = settings.getCurrentUserId();
String[] args = {Long.toString(homeId)};
SQLiteDatabase db = getDbWrite();
@ -67,11 +67,11 @@ public class FilterDatabase {
}
/**
* return current users exclude set containing user IDs
* return the current filterlist containing user IDs
*
* @return a set of user IDs
*/
public Set<Long> getExcludeSet() {
public Set<Long> getFilteredUserIds() {
String[] args = {Long.toString(settings.getCurrentUserId())};
SQLiteDatabase db = getDbRead();
Cursor cursor = db.query(UserExcludeTable.NAME, LIST_ID_COL, LIST_SELECT, args, null, null, null, null);

View File

@ -1,9 +1,9 @@
package org.nuclearfog.twidda.ui.activities;
import static android.os.AsyncTask.Status.RUNNING;
import static org.nuclearfog.twidda.backend.async.UserExcludeLoader.BLOCK_USER;
import static org.nuclearfog.twidda.backend.async.UserExcludeLoader.MUTE_USER;
import static org.nuclearfog.twidda.backend.async.UserExcludeLoader.REFRESH;
import static org.nuclearfog.twidda.backend.async.FilterLoader.BLOCK_USER;
import static org.nuclearfog.twidda.backend.async.FilterLoader.MUTE_USER;
import static org.nuclearfog.twidda.backend.async.FilterLoader.REFRESH;
import android.content.Context;
import android.graphics.Color;
@ -27,7 +27,7 @@ import com.google.android.material.tabs.TabLayout.Tab;
import org.nuclearfog.twidda.R;
import org.nuclearfog.twidda.adapter.FragmentAdapter;
import org.nuclearfog.twidda.backend.async.UserExcludeLoader;
import org.nuclearfog.twidda.backend.async.FilterLoader;
import org.nuclearfog.twidda.backend.utils.AppStyles;
import org.nuclearfog.twidda.backend.utils.ErrorHandler;
import org.nuclearfog.twidda.database.GlobalSettings;
@ -94,7 +94,7 @@ public class UsersActivity extends AppCompatActivity implements OnTabSelectedLis
public static final int USERLIST_REQUESTS = 0x0948693;
private GlobalSettings settings;
private UserExcludeLoader userExclTask;
private FilterLoader userExclTask;
private Toolbar toolbar;
private TabLayout tablayout;
@ -211,7 +211,7 @@ public class UsersActivity extends AppCompatActivity implements OnTabSelectedLis
if (item.getItemId() == R.id.menu_exclude_refresh) {
if (userExclTask == null || userExclTask.getStatus() != RUNNING) {
Toast.makeText(this, R.string.info_refreshing_exclude_list, Toast.LENGTH_SHORT).show();
userExclTask = new UserExcludeLoader(this, REFRESH);
userExclTask = new FilterLoader(this, REFRESH);
userExclTask.execute();
}
}
@ -240,12 +240,12 @@ public class UsersActivity extends AppCompatActivity implements OnTabSelectedLis
public boolean onQueryTextSubmit(String query) {
if (userExclTask == null || userExclTask.getStatus() != RUNNING) {
if (tablayout.getSelectedTabPosition() == 0) {
userExclTask = new UserExcludeLoader(this, MUTE_USER);
userExclTask = new FilterLoader(this, MUTE_USER);
userExclTask.execute(query);
return true;
}
if (tablayout.getSelectedTabPosition() == 1) {
userExclTask = new UserExcludeLoader(this, BLOCK_USER);
userExclTask = new FilterLoader(this, BLOCK_USER);
userExclTask.execute(query);
return true;
}
@ -260,7 +260,7 @@ public class UsersActivity extends AppCompatActivity implements OnTabSelectedLis
}
/**
* called from {@link UserExcludeLoader} if task finished successfully
* called from {@link FilterLoader} if task finished successfully
*/
public void onSuccess(int mode) {
switch (mode) {
@ -281,7 +281,7 @@ public class UsersActivity extends AppCompatActivity implements OnTabSelectedLis
}
/**
* called from {@link UserExcludeLoader} if an error occurs
* called from {@link FilterLoader} if an error occurs
*/
public void onError(ErrorHandler.TwitterError err) {
ErrorHandler.handleFailure(this, err);