投稿画面でホームボタンを押した際にも下書きを保存する

This commit is contained in:
tateisu 2017-07-04 21:49:17 +09:00
parent 7b48ebd747
commit 9f2e4b0cfb
2 changed files with 54 additions and 46 deletions

View File

@ -3445,6 +3445,7 @@ public class ActMain extends AppCompatActivity
float density = dm.density; float density = dm.density;
int column_w_min = (int) ( 0.5f + column_w_min_dp * density ); int column_w_min = (int) ( 0.5f + column_w_min_dp * density );
if( column_w_min < 1) column_w_min =1;
if( sw < column_w_min * 2 ){ if( sw < column_w_min * 2 ){
// 最小幅で2つ表示できないのなら1カラム表示 // 最小幅で2つ表示できないのなら1カラム表示
@ -3453,9 +3454,7 @@ public class ActMain extends AppCompatActivity
// カラム最小幅から計算した表示カラム数 // カラム最小幅から計算した表示カラム数
nScreenColumn = sw / column_w_min; nScreenColumn = sw / column_w_min;
if( nScreenColumn <= 0 ){ if( nScreenColumn < 1 ) nScreenColumn = 1;
nScreenColumn = 1;
}
// データのカラム数より大きくならないようにする // データのカラム数より大きくならないようにする
// (でも最小は1) // (でも最小は1)

View File

@ -246,11 +246,20 @@ public class ActPost extends AppCompatActivity implements View.OnClickListener,
@Override protected void onPause(){ @Override protected void onPause(){
super.onPause(); super.onPause();
MyClickableSpan.link_callback = null; MyClickableSpan.link_callback = null;
// 編集中にホーム画面を押したり他アプリに移動する場合は下書きを保存する
// やや過剰な気がするが自アプリに戻ってくるときにランチャーからアイコンタップされると
// メイン画面より上にあるアクティビティはすべて消されてしまうので
// このタイミングで保存するしかない
if( ! isPostComplete ){
saveDraft();
}
} }
SharedPreferences pref; SharedPreferences pref;
ArrayList< PostAttachment > attachment_list; ArrayList< PostAttachment > attachment_list;
AppState app_state; AppState app_state;
boolean isPostComplete;
@Override @Override
protected void onCreate( @Nullable Bundle savedInstanceState ){ protected void onCreate( @Nullable Bundle savedInstanceState ){
@ -486,6 +495,7 @@ public class ActPost extends AppCompatActivity implements View.OnClickListener,
handler.removeCallbacks( proc_text_changed ); handler.removeCallbacks( proc_text_changed );
closeAcctPopup(); closeAcctPopup();
super.onDestroy(); super.onDestroy();
} }
@Override @Override
@ -1656,6 +1666,7 @@ public class ActPost extends AppCompatActivity implements View.OnClickListener,
data.putExtra( EXTRA_POSTED_STATUS_ID, status.id ); data.putExtra( EXTRA_POSTED_STATUS_ID, status.id );
setResult( RESULT_OK, data ); setResult( RESULT_OK, data );
isPostComplete = true;
ActPost.this.finish(); ActPost.this.finish();
}else{ }else{
Utils.showToast( ActPost.this, true, result.error ); Utils.showToast( ActPost.this, true, result.error );
@ -1715,7 +1726,6 @@ public class ActPost extends AppCompatActivity implements View.OnClickListener,
static final String DRAFT_REPLY_IMAGE = "reply_image"; static final String DRAFT_REPLY_IMAGE = "reply_image";
static final String DRAFT_REPLY_URL = "reply_url"; static final String DRAFT_REPLY_URL = "reply_url";
private void saveDraft(){ private void saveDraft(){
String content = etContent.getText().toString(); String content = etContent.getText().toString();
String content_warning = etContentWarning.getText().toString(); String content_warning = etContentWarning.getText().toString();
@ -2008,7 +2018,6 @@ public class ActPost extends AppCompatActivity implements View.OnClickListener,
} }
} }
private void applyMushroomResult( String text ){ private void applyMushroomResult( String text ){
if( mushroom_input == 1 ){ if( mushroom_input == 1 ){
applyMushroomText( etContentWarning, text ); applyMushroomText( etContentWarning, text );