mirror of
https://github.com/nuclearfog/Shitter.git
synced 2025-02-09 16:48:38 +01:00
bug fix
This commit is contained in:
parent
5e1bc04966
commit
cc8c621a9b
@ -290,20 +290,24 @@ public class StatusLoader extends AsyncTask<Long, Tweet, Void> {
|
||||
if (ui.get() == null) return;
|
||||
|
||||
if (!failure) {
|
||||
if (mode == Mode.DELETE) {
|
||||
Toast.makeText(ui.get(), R.string.tweet_removed, Toast.LENGTH_SHORT).show();
|
||||
ui.get().setResult(RETURN_TWEET_CHANGED);
|
||||
ui.get().finish();
|
||||
}
|
||||
} else {
|
||||
if (err != null) {
|
||||
int rCode = err.getErrorCode();
|
||||
if (rCode == 144 || rCode == 34 || rCode == 63)
|
||||
switch (mode) {
|
||||
case FAVORITE:
|
||||
ui.get().setResult(RETURN_TWEET_CHANGED);
|
||||
break;
|
||||
|
||||
case DELETE:
|
||||
Toast.makeText(ui.get(), R.string.tweet_removed, Toast.LENGTH_SHORT).show();
|
||||
ui.get().setResult(RETURN_TWEET_CHANGED);
|
||||
boolean killActivity = ErrorHandler.printError(ui.get(), err);
|
||||
if (killActivity)
|
||||
ui.get().finish();
|
||||
break;
|
||||
}
|
||||
} else if (err != null) {
|
||||
int rCode = err.getErrorCode();
|
||||
if (rCode == 144 || rCode == 34 || rCode == 63)
|
||||
ui.get().setResult(RETURN_TWEET_CHANGED);
|
||||
boolean killActivity = ErrorHandler.printError(ui.get(), err);
|
||||
if (killActivity)
|
||||
ui.get().finish();
|
||||
}
|
||||
}
|
||||
}
|
@ -370,20 +370,24 @@ public class DatabaseAdapter {
|
||||
userColumn.put("following", user.getFollowing());
|
||||
userColumn.put("follower", user.getFollower());
|
||||
|
||||
db.update("tweet", statColumn, "tweet.tweetID=" + tweet.getId(), null);
|
||||
db.update("user", userColumn, "user.userID=" + user.getId(), null);
|
||||
final String[] tweetIdArg = {Long.toString(tweet.getId())};
|
||||
final String[] userIdArg = {Long.toString(user.getId())};
|
||||
db.update("tweet", statColumn, "tweet.tweetID=?", tweetIdArg);
|
||||
db.update("user", userColumn, "user.userID=?", userIdArg);
|
||||
commit(db);
|
||||
}
|
||||
|
||||
/**
|
||||
* remove status
|
||||
*
|
||||
* @param id Tweet ID
|
||||
* @param tweetId Tweet ID
|
||||
*/
|
||||
public void removeStatus(long id) {
|
||||
public void removeStatus(long tweetId) {
|
||||
SQLiteDatabase db = getDbWrite();
|
||||
db.delete("tweet", "tweetID=" + id, null);
|
||||
db.delete("favorit", "tweetID=" + id + " AND ownerID=" + homeId, null);
|
||||
final String[] delTwt = {Long.toString(tweetId)};
|
||||
final String[] delFav = {Long.toString(tweetId), Long.toString(homeId)};
|
||||
db.delete("tweet", "tweetID=?", delTwt);
|
||||
db.delete("favorit", "tweetID=? AND ownerID=?", delFav);
|
||||
commit(db);
|
||||
}
|
||||
|
||||
@ -396,8 +400,8 @@ public class DatabaseAdapter {
|
||||
Tweet tweet = getStatus(tweetId);
|
||||
if (tweet != null) {
|
||||
SQLiteDatabase db = getDbWrite();
|
||||
long retweetedId = tweet.getMyRetweetId();
|
||||
db.delete("tweet", "tweetID=" + retweetedId, null);
|
||||
final String[] args = {Long.toString(tweet.getMyRetweetId())};
|
||||
db.delete("tweet", "tweetID=?", args);
|
||||
commit(db);
|
||||
}
|
||||
}
|
||||
@ -409,12 +413,14 @@ public class DatabaseAdapter {
|
||||
*/
|
||||
public void removeFavorite(long tweetId) {
|
||||
SQLiteDatabase db = getDbWrite();
|
||||
final String[] delArgs = {Long.toString(tweetId), Long.toString(homeId)};
|
||||
final String[] updateArgs = {Long.toString(tweetId)};
|
||||
int register = getTweetStatus(db, tweetId);
|
||||
register &= ~FAV_MASK;
|
||||
ContentValues status = new ContentValues();
|
||||
status.put("statusregister", register);
|
||||
db.delete("favorit", "tweetID=" + tweetId + " AND ownerID=" + homeId, null);
|
||||
db.update("tweet", status, "tweet.tweetID=" + tweetId, null);
|
||||
db.delete("favorit", "tweetID=? AND ownerID=?", delArgs);
|
||||
db.update("tweet", status, "tweet.tweetID=?", updateArgs);
|
||||
commit(db);
|
||||
}
|
||||
|
||||
@ -425,7 +431,8 @@ public class DatabaseAdapter {
|
||||
*/
|
||||
public void deleteDm(long id) {
|
||||
SQLiteDatabase db = getDbWrite();
|
||||
db.delete("message", "messageID=" + id, null);
|
||||
final String[] messageId = {Long.toString(id)};
|
||||
db.delete("message", "messageID=?", messageId);
|
||||
commit(db);
|
||||
}
|
||||
|
||||
|
@ -94,7 +94,7 @@ public class TweetListFragment extends Fragment implements OnRefreshListener, On
|
||||
public void onStart() {
|
||||
super.onStart();
|
||||
if (tweetTask == null) {
|
||||
load();
|
||||
load(false);
|
||||
}
|
||||
}
|
||||
|
||||
@ -103,7 +103,7 @@ public class TweetListFragment extends Fragment implements OnRefreshListener, On
|
||||
public void onResume() {
|
||||
super.onResume();
|
||||
if (tweetTask == null) {
|
||||
load();
|
||||
load(false);
|
||||
}
|
||||
}
|
||||
|
||||
@ -126,7 +126,7 @@ public class TweetListFragment extends Fragment implements OnRefreshListener, On
|
||||
|
||||
@Override
|
||||
public void onRefresh() {
|
||||
load();
|
||||
load(true);
|
||||
}
|
||||
|
||||
|
||||
@ -169,7 +169,7 @@ public class TweetListFragment extends Fragment implements OnRefreshListener, On
|
||||
}
|
||||
|
||||
|
||||
private void load() {
|
||||
private void load(boolean loadAnswer) {
|
||||
switch (mode) {
|
||||
case HOME:
|
||||
tweetTask = new TweetLoader(root, Mode.TL_HOME);
|
||||
@ -192,8 +192,10 @@ public class TweetListFragment extends Fragment implements OnRefreshListener, On
|
||||
break;
|
||||
|
||||
case TWEET_ANSR:
|
||||
tweetTask = new TweetLoader(root, Mode.TWEET_ANS);
|
||||
tweetTask.execute(id, search);
|
||||
if (loadAnswer) {
|
||||
tweetTask = new TweetLoader(root, Mode.TWEET_ANS);
|
||||
tweetTask.execute(id, search);
|
||||
}
|
||||
break;
|
||||
|
||||
case SEARCH:
|
||||
|
@ -18,6 +18,8 @@ import androidx.appcompat.app.AppCompatActivity;
|
||||
|
||||
import org.nuclearfog.twidda.R;
|
||||
import org.nuclearfog.twidda.backend.StatusUploader;
|
||||
import org.nuclearfog.twidda.backend.helper.FilenameTools;
|
||||
import org.nuclearfog.twidda.backend.helper.FilenameTools.FileType;
|
||||
import org.nuclearfog.twidda.backend.items.TweetHolder;
|
||||
import org.nuclearfog.twidda.database.GlobalSettings;
|
||||
|
||||
@ -54,8 +56,8 @@ public class TweetPopup extends AppCompatActivity implements OnClickListener {
|
||||
|
||||
private static final String[] READ_STORAGE = {READ_EXTERNAL_STORAGE};
|
||||
private static final String[] GET_MEDIA = {MediaStore.Images.Media.DATA};
|
||||
private static final String TYPE_IMAGE = "image/*.jpeg image/*.jpg image/*.png ";
|
||||
private static final String TYPE_VIDEO = "video/*.mp4 video/*.3gp video/*.gif ";
|
||||
private static final String TYPE_IMAGE = "image/*";
|
||||
private static final String TYPE_VIDEO = "video/*";
|
||||
private static final int PICK_MEDIA = 3;
|
||||
private static final int CHECK_PERM = 4;
|
||||
private static final int MAX_IMAGES = 4;
|
||||
@ -123,16 +125,10 @@ public class TweetPopup extends AppCompatActivity implements OnClickListener {
|
||||
if (cursor != null && cursor.moveToFirst()) {
|
||||
int index = cursor.getColumnIndex(GET_MEDIA[0]);
|
||||
String path = cursor.getString(index);
|
||||
String ext = "";
|
||||
int pos = path.lastIndexOf(".") + 1;
|
||||
if (pos > 0 && pos < path.length()) {
|
||||
ext = path.substring(pos);
|
||||
ext = ext.toLowerCase();
|
||||
}
|
||||
switch (ext) {
|
||||
case "png":
|
||||
case "jpg":
|
||||
case "jpeg":
|
||||
FileType type = FilenameTools.getFileType(path);
|
||||
|
||||
switch (type) {
|
||||
case IMAGE:
|
||||
if (mode == Mode.NONE)
|
||||
mode = Mode.IMAGE;
|
||||
if (mediaPath.size() < MAX_IMAGES && mode == Mode.IMAGE) {
|
||||
@ -145,7 +141,7 @@ public class TweetPopup extends AppCompatActivity implements OnClickListener {
|
||||
}
|
||||
break;
|
||||
|
||||
case "gif":
|
||||
case ANGIF:
|
||||
if (mode == Mode.NONE)
|
||||
mode = Mode.GIF;
|
||||
if (mode == Mode.GIF) {
|
||||
@ -155,8 +151,7 @@ public class TweetPopup extends AppCompatActivity implements OnClickListener {
|
||||
}
|
||||
break;
|
||||
|
||||
case "mp4":
|
||||
case "3gp":
|
||||
case VIDEO:
|
||||
if (mode == Mode.NONE)
|
||||
mode = Mode.VIDEO;
|
||||
if (mode == Mode.VIDEO) {
|
||||
@ -281,7 +276,8 @@ public class TweetPopup extends AppCompatActivity implements OnClickListener {
|
||||
mediaIntent.setDataAndType(EXTERNAL_CONTENT_URI, TYPE_IMAGE + TYPE_VIDEO);
|
||||
startActivityForResult(mediaIntent, PICK_MEDIA);
|
||||
} else if (mode == Mode.IMAGE) {
|
||||
Intent imageIntent = new Intent(ACTION_PICK, EXTERNAL_CONTENT_URI);
|
||||
Intent imageIntent = new Intent(ACTION_PICK);
|
||||
imageIntent.setDataAndType(EXTERNAL_CONTENT_URI, TYPE_IMAGE);
|
||||
startActivityForResult(imageIntent, PICK_MEDIA);
|
||||
}
|
||||
}
|
||||
|
@ -2,8 +2,7 @@
|
||||
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_margin="@dimen/preview_margin">
|
||||
android:layout_height="match_parent">
|
||||
|
||||
<FrameLayout
|
||||
android:id="@+id/image_window"
|
||||
@ -30,7 +29,8 @@
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="bottom"
|
||||
android:scrollbars="horizontal" />
|
||||
android:scrollbars="horizontal"
|
||||
android:layout_margin="@dimen/preview_margin" />
|
||||
|
||||
</FrameLayout>
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user