Saves content warnings in drafts.
This commit is contained in:
parent
2c389dd147
commit
125c0e7e6c
6 changed files with 42 additions and 14 deletions
|
@ -5,7 +5,7 @@
|
|||
|
||||
<uses-permission android:name="android.permission.INTERNET" />
|
||||
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
|
||||
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
|
||||
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" android:maxSdkVersion="18" />
|
||||
<uses-permission android:name="android.permission.VIBRATE" /> <!--For notifications-->
|
||||
<uses-permission android:name="android.permission.WAKE_LOCK" /> <!--Required by Eclipse Paho-->
|
||||
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <!--Required by Eclipse Paho-->
|
||||
|
|
|
@ -201,7 +201,11 @@ public class ComposeActivity extends BaseActivity implements ComposeOptionsFragm
|
|||
floatingBtn.setOnLongClickListener(new View.OnLongClickListener() {
|
||||
@Override
|
||||
public boolean onLongClick(View v) {
|
||||
boolean b = saveTheToot(textEditor.getText().toString());
|
||||
String contentWarning = null;
|
||||
if (statusHideText) {
|
||||
contentWarning = contentWarningEditor.getText().toString();
|
||||
}
|
||||
boolean b = saveTheToot(textEditor.getText().toString(), contentWarning);
|
||||
if (b) {
|
||||
Toast.makeText(ComposeActivity.this, R.string.action_save_one_toot, Toast.LENGTH_SHORT).show();
|
||||
}
|
||||
|
@ -269,6 +273,7 @@ public class ComposeActivity extends BaseActivity implements ComposeOptionsFragm
|
|||
Intent intent = getIntent();
|
||||
|
||||
String[] mentionedUsernames = null;
|
||||
ArrayList<String> loadedDraftMediaUris = null;
|
||||
inReplyToId = null;
|
||||
if (intent != null) {
|
||||
inReplyToId = intent.getStringExtra("in_reply_to_id");
|
||||
|
@ -294,10 +299,15 @@ public class ComposeActivity extends BaseActivity implements ComposeOptionsFragm
|
|||
if (startingHideText) {
|
||||
startingContentWarning = intent.getStringExtra("content_warning");
|
||||
}
|
||||
} else {
|
||||
String contentWarning = intent.getStringExtra("saved_toot_content_warning");
|
||||
startingHideText = !TextUtils.isEmpty(contentWarning);
|
||||
if (startingHideText) {
|
||||
startingContentWarning = contentWarning;
|
||||
}
|
||||
}
|
||||
|
||||
/* If come from SavedTootActivity
|
||||
* */
|
||||
// If come from SavedTootActivity
|
||||
String savedTootText = intent.getStringExtra("saved_toot_text");
|
||||
if (!TextUtils.isEmpty(savedTootText)) {
|
||||
textEditor.append(savedTootText);
|
||||
|
@ -306,7 +316,7 @@ public class ComposeActivity extends BaseActivity implements ComposeOptionsFragm
|
|||
String savedJsonUrls = intent.getStringExtra("saved_json_urls");
|
||||
if (!TextUtils.isEmpty(savedJsonUrls)) {
|
||||
// try to redo a list of media
|
||||
ArrayList<String> playersList = new Gson().fromJson(savedJsonUrls,
|
||||
loadedDraftMediaUris = new Gson().fromJson(savedJsonUrls,
|
||||
new TypeToken<ArrayList<String>>() {
|
||||
}.getType());
|
||||
}
|
||||
|
@ -398,6 +408,13 @@ public class ComposeActivity extends BaseActivity implements ComposeOptionsFragm
|
|||
statusAlreadyInFlight = false;
|
||||
|
||||
// These can only be added after everything affected by the media queue is initialized.
|
||||
/* if (loadedDraftMediaUris != null && !loadedDraftMediaUris.isEmpty()) {
|
||||
for (String uriString : loadedDraftMediaUris) {
|
||||
Uri uri = Uri.parse(uriString);
|
||||
long mediaSize = MediaUtils.getMediaSize(getContentResolver(), uri);
|
||||
pickMedia(uri, mediaSize);
|
||||
}
|
||||
} else */
|
||||
if (savedMediaQueued != null) {
|
||||
for (SavedQueuedMedia item : savedMediaQueued) {
|
||||
addMediaToQueue(item.type, item.preview, item.uri, item.mediaSize);
|
||||
|
@ -530,16 +547,16 @@ public class ComposeActivity extends BaseActivity implements ComposeOptionsFragm
|
|||
}
|
||||
}
|
||||
|
||||
public boolean saveTheToot(String s) {
|
||||
public boolean saveTheToot(String s, @Nullable String contentWarning) {
|
||||
if (TextUtils.isEmpty(s)) {
|
||||
return false;
|
||||
} else {
|
||||
final TootEntity toot = new TootEntity();
|
||||
toot.setText(s);
|
||||
toot.setContentWarning(contentWarning);
|
||||
if (mediaQueued != null && mediaQueued.size() > 0) {
|
||||
List<String> list = new ArrayList<>();
|
||||
for (QueuedMedia q :
|
||||
mediaQueued) {
|
||||
for (QueuedMedia q : mediaQueued) {
|
||||
list.add(q.uri.toString());
|
||||
}
|
||||
String json = new Gson().toJson(list);
|
||||
|
@ -679,7 +696,7 @@ public class ComposeActivity extends BaseActivity implements ComposeOptionsFragm
|
|||
}
|
||||
|
||||
private boolean onCommitContent(InputContentInfoCompat inputContentInfo, int flags,
|
||||
String[] mimeTypes) {
|
||||
String[] mimeTypes) {
|
||||
try {
|
||||
if (currentInputContentInfo != null) {
|
||||
currentInputContentInfo.releasePermission();
|
||||
|
@ -741,7 +758,7 @@ public class ComposeActivity extends BaseActivity implements ComposeOptionsFragm
|
|||
}
|
||||
|
||||
private void sendStatus(String content, String visibility, boolean sensitive,
|
||||
String spoilerText) {
|
||||
String spoilerText) {
|
||||
ArrayList<String> mediaIds = new ArrayList<>();
|
||||
|
||||
for (QueuedMedia item : mediaQueued) {
|
||||
|
@ -1240,7 +1257,7 @@ public class ComposeActivity extends BaseActivity implements ComposeOptionsFragm
|
|||
}
|
||||
}
|
||||
|
||||
void showMarkSensitive(boolean show) {
|
||||
private void showMarkSensitive(boolean show) {
|
||||
showMarkSensitive = show;
|
||||
|
||||
if (!showMarkSensitive) {
|
||||
|
@ -1256,7 +1273,7 @@ public class ComposeActivity extends BaseActivity implements ComposeOptionsFragm
|
|||
}
|
||||
}
|
||||
|
||||
void showContentWarning(boolean show) {
|
||||
private void showContentWarning(boolean show) {
|
||||
statusHideText = show;
|
||||
if (show) {
|
||||
contentWarningBar.setVisibility(View.VISIBLE);
|
||||
|
|
|
@ -137,6 +137,7 @@ public class SavedTootActivity extends BaseActivity implements SavedTootAdapter.
|
|||
Intent intent = new Intent(this, ComposeActivity.class);
|
||||
intent.putExtra("saved_toot_uid", item.getUid());
|
||||
intent.putExtra("saved_toot_text", item.getText());
|
||||
intent.putExtra("saved_toot_content_warning", item.getContentWarning());
|
||||
intent.putExtra("saved_json_urls", item.getUrls());
|
||||
startActivity(intent);
|
||||
}
|
||||
|
|
|
@ -7,7 +7,7 @@ import android.arch.persistence.room.RoomDatabase;
|
|||
* DB version & declare DAO
|
||||
*/
|
||||
|
||||
@Database(entities = {TootEntity.class}, version = 1, exportSchema = false)
|
||||
@Database(entities = {TootEntity.class}, version = 2, exportSchema = false)
|
||||
public abstract class AppDatabase extends RoomDatabase {
|
||||
|
||||
public abstract TootDao tootDao();
|
||||
|
|
|
@ -3,7 +3,6 @@ package com.keylesspalace.tusky.db;
|
|||
import android.arch.persistence.room.Dao;
|
||||
import android.arch.persistence.room.Delete;
|
||||
import android.arch.persistence.room.Insert;
|
||||
import android.arch.persistence.room.OnConflictStrategy;
|
||||
import android.arch.persistence.room.Query;
|
||||
import android.arch.persistence.room.Update;
|
||||
|
||||
|
|
|
@ -19,6 +19,9 @@ public class TootEntity {
|
|||
@ColumnInfo(name = "urls")
|
||||
private String urls;
|
||||
|
||||
@ColumnInfo(name = "contentWarning")
|
||||
private String contentWarning;
|
||||
|
||||
// getter setter
|
||||
public String getText() {
|
||||
return text;
|
||||
|
@ -28,6 +31,14 @@ public class TootEntity {
|
|||
this.text = text;
|
||||
}
|
||||
|
||||
public String getContentWarning() {
|
||||
return contentWarning;
|
||||
}
|
||||
|
||||
public void setContentWarning(String contentWarning) {
|
||||
this.contentWarning = contentWarning;
|
||||
}
|
||||
|
||||
public int getUid() {
|
||||
return uid;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue