bug fix
This commit is contained in:
parent
596e99a92d
commit
8d0a749569
|
@ -2,6 +2,7 @@ package org.nuclearfog.twidda.adapter;
|
|||
|
||||
import android.os.Bundle;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.fragment.app.Fragment;
|
||||
import androidx.fragment.app.FragmentManager;
|
||||
import androidx.fragment.app.FragmentPagerAdapter;
|
||||
|
@ -30,7 +31,7 @@ public class FragmentAdapter extends FragmentPagerAdapter {
|
|||
private final Fragment[] fragments;
|
||||
|
||||
public FragmentAdapter(FragmentManager fManager, AdapterType mode, long id, String search) {
|
||||
super(fManager);
|
||||
super(fManager, BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT);
|
||||
switch (mode) {
|
||||
case HOME_TAB:
|
||||
Bundle home_tl = new Bundle();
|
||||
|
@ -139,6 +140,7 @@ public class FragmentAdapter extends FragmentPagerAdapter {
|
|||
|
||||
|
||||
@Override
|
||||
@NonNull
|
||||
public Fragment getItem(int index) {
|
||||
return fragments[index];
|
||||
}
|
||||
|
@ -153,13 +155,13 @@ public class FragmentAdapter extends FragmentPagerAdapter {
|
|||
public void notifySettingsChanged() {
|
||||
for (Fragment fragment : fragments) {
|
||||
if (fragment instanceof OnSettingsChanged)
|
||||
((OnSettingsChanged) fragment).settingsChanged();
|
||||
((OnSettingsChanged) fragment).onSettingsChange();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public interface OnSettingsChanged {
|
||||
|
||||
void settingsChanged();
|
||||
void onSettingsChange();
|
||||
}
|
||||
}
|
|
@ -129,6 +129,7 @@ public class ProfileLoader extends AsyncTask<Long, Void, Boolean> {
|
|||
user = mTwitter.unblockUser(UID);
|
||||
isBlocked = !isBlocked;
|
||||
publishProgress();
|
||||
db.muteUser(UID, isBlocked);
|
||||
break;
|
||||
|
||||
case ACTION_MUTE:
|
||||
|
@ -138,6 +139,7 @@ public class ProfileLoader extends AsyncTask<Long, Void, Boolean> {
|
|||
user = mTwitter.unmuteUser(UID);
|
||||
isMuted = !isMuted;
|
||||
publishProgress();
|
||||
db.muteUser(UID, isMuted);
|
||||
break;
|
||||
}
|
||||
} catch (TwitterException err) {
|
||||
|
|
|
@ -32,6 +32,7 @@ public class DatabaseAdapter {
|
|||
private static final int VER_MASK = 1; // USER VERIFIED MASK
|
||||
private static final int LCK_MASK = 1 << 1; // USER LOCKED MASK
|
||||
private static final int FRQ_MASK = 1 << 2; // USER REQUEST FOLLOW
|
||||
private static final int EXCL_USR = 1 << 3; // EXCLUDE USERS TWEETS
|
||||
|
||||
private AppDatabase dataHelper;
|
||||
private long homeId;
|
||||
|
@ -199,7 +200,7 @@ public class DatabaseAdapter {
|
|||
List<Tweet> tweetList = new LinkedList<>();
|
||||
final String SQL_GET_HOME = "SELECT * FROM tweet " +
|
||||
"INNER JOIN user ON tweet.userID=user.userID " +
|
||||
"WHERE statusregister&" + HOM_MASK + ">0 " +
|
||||
"WHERE statusregister&" + HOM_MASK + " IS NOT 0 " +
|
||||
"ORDER BY tweetID DESC LIMIT " + LIMIT;
|
||||
Cursor cursor = db.rawQuery(SQL_GET_HOME, null);
|
||||
if (cursor.moveToFirst()) {
|
||||
|
@ -223,7 +224,8 @@ public class DatabaseAdapter {
|
|||
List<Tweet> tweetList = new LinkedList<>();
|
||||
final String SQL_GET_HOME = "SELECT * FROM tweet " +
|
||||
"INNER JOIN user ON tweet.userID=user.userID " +
|
||||
"WHERE statusregister&" + MEN_MASK + ">0 " +
|
||||
"WHERE statusregister&" + MEN_MASK + " IS NOT 0 " +
|
||||
"AND userregister&" + EXCL_USR + " IS 0 " +
|
||||
"ORDER BY tweetID DESC LIMIT " + LIMIT;
|
||||
Cursor cursor = db.rawQuery(SQL_GET_HOME, null);
|
||||
if (cursor.moveToFirst()) {
|
||||
|
@ -248,7 +250,7 @@ public class DatabaseAdapter {
|
|||
List<Tweet> tweetList = new LinkedList<>();
|
||||
final String SQL_GET_HOME = "SELECT * FROM tweet " +
|
||||
"INNER JOIN user ON tweet.userID = user.userID " +
|
||||
"WHERE statusregister&" + UTW_MASK + ">0 " +
|
||||
"WHERE statusregister&" + UTW_MASK + " IS NOT 0 " +
|
||||
"AND user.userID =" + userID +
|
||||
" ORDER BY tweetID DESC LIMIT " + LIMIT;
|
||||
|
||||
|
@ -323,7 +325,7 @@ public class DatabaseAdapter {
|
|||
List<Tweet> tweetList = new LinkedList<>();
|
||||
final String SQL_GET_HOME = "SELECT * FROM tweet " +
|
||||
"INNER JOIN user ON tweet.userID = user.userID " +
|
||||
"WHERE tweet.replyID=" + tweetId + " AND statusregister&" + RPL_MASK + ">0 " +
|
||||
"WHERE tweet.replyID=" + tweetId + " AND statusregister&" + RPL_MASK + " IS NOT 0 " +
|
||||
"ORDER BY tweetID DESC LIMIT " + LIMIT;
|
||||
Cursor cursor = db.rawQuery(SQL_GET_HOME, null);
|
||||
if (cursor.moveToFirst()) {
|
||||
|
@ -507,6 +509,33 @@ public class DatabaseAdapter {
|
|||
}
|
||||
|
||||
|
||||
/**
|
||||
* remove user from mention results
|
||||
*
|
||||
* @param id user ID
|
||||
* @param mute true remove user tweets from mention results
|
||||
*/
|
||||
public void muteUser(long id, boolean mute) {
|
||||
SQLiteDatabase db = getDbWrite();
|
||||
final String query = "SELECT userregister FROM user WHERE userID=" + id + " LIMIT 1";
|
||||
Cursor cursor = db.rawQuery(query, null);
|
||||
if (cursor.moveToFirst()) {
|
||||
int index = cursor.getColumnIndex("userregister");
|
||||
int userRegister = cursor.getInt(index);
|
||||
if (mute)
|
||||
userRegister |= EXCL_USR;
|
||||
else
|
||||
userRegister &= ~EXCL_USR;
|
||||
|
||||
ContentValues userColumn = new ContentValues();
|
||||
userColumn.put("userregister", userRegister);
|
||||
db.update("user", userColumn, "user.userID=" + id, null);
|
||||
}
|
||||
cursor.close();
|
||||
commit(db);
|
||||
}
|
||||
|
||||
|
||||
private Tweet getStatus(Cursor cursor) {
|
||||
int index;
|
||||
index = cursor.getColumnIndex("time");
|
||||
|
|
|
@ -26,7 +26,6 @@ import org.nuclearfog.twidda.window.SearchPage;
|
|||
|
||||
public class TrendListFragment extends Fragment implements OnRefreshListener, OnItemClickListener, OnSettingsChanged {
|
||||
|
||||
private GlobalSettings settings;
|
||||
private TrendLoader trendTask;
|
||||
private SwipeRefreshLayout reload;
|
||||
private TrendAdapter adapter;
|
||||
|
@ -36,19 +35,16 @@ public class TrendListFragment extends Fragment implements OnRefreshListener, On
|
|||
public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup parent, Bundle param) {
|
||||
super.onCreateView(inflater, parent, param);
|
||||
View v = inflater.inflate(R.layout.fragment_list, parent, false);
|
||||
|
||||
settings = GlobalSettings.getInstance(getContext());
|
||||
adapter = new TrendAdapter(this);
|
||||
adapter.setColor(settings.getFontColor());
|
||||
|
||||
reload = v.findViewById(R.id.fragment_reload);
|
||||
reload.setOnRefreshListener(this);
|
||||
reload.setProgressBackgroundColorSchemeColor(settings.getHighlightColor());
|
||||
|
||||
RecyclerView list = v.findViewById(R.id.fragment_list);
|
||||
reload = v.findViewById(R.id.fragment_reload);
|
||||
|
||||
reload.setOnRefreshListener(this);
|
||||
adapter = new TrendAdapter(this);
|
||||
list.setLayoutManager(new LinearLayoutManager(getContext()));
|
||||
list.setHasFixedSize(true);
|
||||
list.setAdapter(adapter);
|
||||
|
||||
onSettingsChange();
|
||||
return v;
|
||||
}
|
||||
|
||||
|
@ -99,7 +95,8 @@ public class TrendListFragment extends Fragment implements OnRefreshListener, On
|
|||
|
||||
|
||||
@Override
|
||||
public void settingsChanged() {
|
||||
public void onSettingsChange() {
|
||||
GlobalSettings settings = GlobalSettings.getInstance(getContext());
|
||||
reload.setProgressBackgroundColorSchemeColor(settings.getHighlightColor());
|
||||
adapter.setColor(settings.getFontColor());
|
||||
adapter.notifyDataSetChanged();
|
||||
|
|
|
@ -37,7 +37,6 @@ public class TweetListFragment extends Fragment implements OnRefreshListener, On
|
|||
SEARCH,
|
||||
}
|
||||
|
||||
private GlobalSettings settings;
|
||||
private TweetLoader tweetTask;
|
||||
private SwipeRefreshLayout reload;
|
||||
private TweetAdapter adapter;
|
||||
|
@ -62,21 +61,17 @@ public class TweetListFragment extends Fragment implements OnRefreshListener, On
|
|||
}
|
||||
|
||||
View v = inflater.inflate(R.layout.fragment_list, parent, false);
|
||||
|
||||
reload = v.findViewById(R.id.fragment_reload);
|
||||
reload.setOnRefreshListener(this);
|
||||
adapter = new TweetAdapter(this);
|
||||
|
||||
settings = GlobalSettings.getInstance(getContext());
|
||||
reload.setProgressBackgroundColorSchemeColor(settings.getHighlightColor());
|
||||
adapter.setColor(settings.getHighlightColor(), settings.getFontColor());
|
||||
adapter.toggleImage(settings.getImageLoad());
|
||||
|
||||
RecyclerView list = v.findViewById(R.id.fragment_list);
|
||||
list.setLayoutManager(new LinearLayoutManager(getContext()));
|
||||
list.setHasFixedSize(fixSize);
|
||||
list.setAdapter(adapter);
|
||||
|
||||
onSettingsChange();
|
||||
|
||||
return v;
|
||||
}
|
||||
|
||||
|
@ -184,7 +179,8 @@ public class TweetListFragment extends Fragment implements OnRefreshListener, On
|
|||
|
||||
|
||||
@Override
|
||||
public void settingsChanged() {
|
||||
public void onSettingsChange() {
|
||||
GlobalSettings settings = GlobalSettings.getInstance(getContext());
|
||||
reload.setProgressBackgroundColorSchemeColor(settings.getHighlightColor());
|
||||
adapter.setColor(settings.getHighlightColor(), settings.getFontColor());
|
||||
adapter.toggleImage(settings.getImageLoad());
|
||||
|
|
|
@ -131,7 +131,7 @@ public class ImageDetail extends AppCompatActivity implements OnImageClickListen
|
|||
Toast.makeText(this, R.string.image_saved, Toast.LENGTH_LONG).show();
|
||||
output.close();
|
||||
} catch (Exception err) {
|
||||
err.printStackTrace();
|
||||
Toast.makeText(this, R.string.image_store_failure, Toast.LENGTH_SHORT).show();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -101,4 +101,5 @@
|
|||
<string name="request_token_error">Request Token abgelaufen, bitte App aktualisieren!</string>
|
||||
<string name="settings_info">Information</string>
|
||||
<string name="follows_you">folgt dir</string>
|
||||
<string name="image_store_failure">Fehler beim Speichern!</string>
|
||||
</resources>
|
|
@ -110,4 +110,5 @@
|
|||
<string name="settings_info">information</string>
|
||||
<string name="github_link" translatable="false">github.com/nuclearfog/Shitter</string>
|
||||
<string name="follows_you">follows you</string>
|
||||
<string name="image_store_failure">image save failed!</string>
|
||||
</resources>
|
Loading…
Reference in New Issue