Loading app/src/main/java/app/fedilab/android/activities/ComposeActivity.java +37 −15 Original line number Diff line number Diff line Loading @@ -97,7 +97,7 @@ import app.fedilab.android.viewmodel.mastodon.AccountsVM; import app.fedilab.android.viewmodel.mastodon.StatusesVM; import es.dmoral.toasty.Toasty; public class ComposeActivity extends BaseActivity implements ComposeAdapter.ManageDrafts, AccountsReplyAdapter.ActionDone { public class ComposeActivity extends BaseActivity implements ComposeAdapter.ManageDrafts, AccountsReplyAdapter.ActionDone, ComposeAdapter.promptDraftListener { public static final int MY_PERMISSIONS_REQUEST_READ_EXTERNAL_STORAGE = 754; Loading @@ -109,6 +109,7 @@ public class ComposeActivity extends BaseActivity implements ComposeAdapter.Mana private Status statusReply, statusMention; private StatusDraft statusDraft; private ComposeAdapter composeAdapter; private boolean promptSaveDraft; private final BroadcastReceiver imageReceiver = new BroadcastReceiver() { Loading Loading @@ -213,6 +214,7 @@ public class ComposeActivity extends BaseActivity implements ComposeAdapter.Mana statusDraft = prepareDraft(statusList, composeAdapter, account.instance, account.user_id); } if (canBeSent(statusDraft)) { if (promptSaveDraft) { AlertDialog.Builder alt_bld = new AlertDialog.Builder(ComposeActivity.this, Helper.dialogStyle()); alt_bld.setMessage(R.string.save_draft); alt_bld.setPositiveButton(R.string.save, (dialog, id) -> { Loading @@ -232,6 +234,14 @@ public class ComposeActivity extends BaseActivity implements ComposeAdapter.Mana }); AlertDialog alert = alt_bld.create(); alert.show(); } else { try { new StatusDraft(ComposeActivity.this).removeDraft(statusDraft); finish(); } catch (DBException e) { e.printStackTrace(); } } } else { finish(); } Loading Loading @@ -278,6 +288,7 @@ public class ComposeActivity extends BaseActivity implements ComposeAdapter.Mana statusList.add(initialStatus); statusList.add(statusDraft.statusDraftList.get(0)); composeAdapter = new ComposeAdapter(statusList, context.ancestors.size(), account, accountMention, visibility, editMessageId); composeAdapter.promptDraftListener = this; composeAdapter.manageDrafts = this; LinearLayoutManager mLayoutManager = new LinearLayoutManager(ComposeActivity.this); binding.recyclerView.setLayoutManager(mLayoutManager); Loading Loading @@ -434,6 +445,7 @@ public class ComposeActivity extends BaseActivity implements ComposeAdapter.Mana binding = ActivityPaginationBinding.inflate(getLayoutInflater()); setContentView(binding.getRoot()); setSupportActionBar(binding.toolbar); promptSaveDraft = false; ActionBar actionBar = getSupportActionBar(); //Remove title if (actionBar != null) { Loading Loading @@ -572,6 +584,7 @@ public class ComposeActivity extends BaseActivity implements ComposeAdapter.Mana statusList.addAll(statusDraft.statusDraftList); composeAdapter = new ComposeAdapter(statusList, statusCount, account, accountMention, visibility, editMessageId); composeAdapter.manageDrafts = this; composeAdapter.promptDraftListener = this; LinearLayoutManager mLayoutManager = new LinearLayoutManager(ComposeActivity.this); binding.recyclerView.setLayoutManager(mLayoutManager); binding.recyclerView.setAdapter(composeAdapter); Loading Loading @@ -627,6 +640,7 @@ public class ComposeActivity extends BaseActivity implements ComposeAdapter.Mana statusList.addAll(statusDraftList); composeAdapter = new ComposeAdapter(statusList, statusCount, account, accountMention, visibility, editMessageId); composeAdapter.manageDrafts = this; composeAdapter.promptDraftListener = this; LinearLayoutManager mLayoutManager = new LinearLayoutManager(ComposeActivity.this); binding.recyclerView.setLayoutManager(mLayoutManager); binding.recyclerView.setAdapter(composeAdapter); Loading @@ -637,6 +651,7 @@ public class ComposeActivity extends BaseActivity implements ComposeAdapter.Mana statusList.addAll(statusDraftList); composeAdapter = new ComposeAdapter(statusList, 0, account, accountMention, visibility, editMessageId); composeAdapter.manageDrafts = this; composeAdapter.promptDraftListener = this; LinearLayoutManager mLayoutManager = new LinearLayoutManager(ComposeActivity.this); binding.recyclerView.setLayoutManager(mLayoutManager); binding.recyclerView.setAdapter(composeAdapter); Loading @@ -653,8 +668,10 @@ public class ComposeActivity extends BaseActivity implements ComposeAdapter.Mana timer.scheduleAtFixedRate(new TimerTask() { @Override public void run() { if (promptSaveDraft) { storeDraft(false); } } }, 0, 10000); } Loading Loading @@ -872,6 +889,11 @@ public class ComposeActivity extends BaseActivity implements ComposeAdapter.Mana composeAdapter.updateContent(isChecked, acct); } @Override public void promptDraft() { promptSaveDraft = true; } public enum mediaType { PHOTO, Loading app/src/main/java/app/fedilab/android/ui/drawer/ComposeAdapter.java +443 −427 File changed.Preview size limit exceeded, changes collapsed. Show changes Loading
app/src/main/java/app/fedilab/android/activities/ComposeActivity.java +37 −15 Original line number Diff line number Diff line Loading @@ -97,7 +97,7 @@ import app.fedilab.android.viewmodel.mastodon.AccountsVM; import app.fedilab.android.viewmodel.mastodon.StatusesVM; import es.dmoral.toasty.Toasty; public class ComposeActivity extends BaseActivity implements ComposeAdapter.ManageDrafts, AccountsReplyAdapter.ActionDone { public class ComposeActivity extends BaseActivity implements ComposeAdapter.ManageDrafts, AccountsReplyAdapter.ActionDone, ComposeAdapter.promptDraftListener { public static final int MY_PERMISSIONS_REQUEST_READ_EXTERNAL_STORAGE = 754; Loading @@ -109,6 +109,7 @@ public class ComposeActivity extends BaseActivity implements ComposeAdapter.Mana private Status statusReply, statusMention; private StatusDraft statusDraft; private ComposeAdapter composeAdapter; private boolean promptSaveDraft; private final BroadcastReceiver imageReceiver = new BroadcastReceiver() { Loading Loading @@ -213,6 +214,7 @@ public class ComposeActivity extends BaseActivity implements ComposeAdapter.Mana statusDraft = prepareDraft(statusList, composeAdapter, account.instance, account.user_id); } if (canBeSent(statusDraft)) { if (promptSaveDraft) { AlertDialog.Builder alt_bld = new AlertDialog.Builder(ComposeActivity.this, Helper.dialogStyle()); alt_bld.setMessage(R.string.save_draft); alt_bld.setPositiveButton(R.string.save, (dialog, id) -> { Loading @@ -232,6 +234,14 @@ public class ComposeActivity extends BaseActivity implements ComposeAdapter.Mana }); AlertDialog alert = alt_bld.create(); alert.show(); } else { try { new StatusDraft(ComposeActivity.this).removeDraft(statusDraft); finish(); } catch (DBException e) { e.printStackTrace(); } } } else { finish(); } Loading Loading @@ -278,6 +288,7 @@ public class ComposeActivity extends BaseActivity implements ComposeAdapter.Mana statusList.add(initialStatus); statusList.add(statusDraft.statusDraftList.get(0)); composeAdapter = new ComposeAdapter(statusList, context.ancestors.size(), account, accountMention, visibility, editMessageId); composeAdapter.promptDraftListener = this; composeAdapter.manageDrafts = this; LinearLayoutManager mLayoutManager = new LinearLayoutManager(ComposeActivity.this); binding.recyclerView.setLayoutManager(mLayoutManager); Loading Loading @@ -434,6 +445,7 @@ public class ComposeActivity extends BaseActivity implements ComposeAdapter.Mana binding = ActivityPaginationBinding.inflate(getLayoutInflater()); setContentView(binding.getRoot()); setSupportActionBar(binding.toolbar); promptSaveDraft = false; ActionBar actionBar = getSupportActionBar(); //Remove title if (actionBar != null) { Loading Loading @@ -572,6 +584,7 @@ public class ComposeActivity extends BaseActivity implements ComposeAdapter.Mana statusList.addAll(statusDraft.statusDraftList); composeAdapter = new ComposeAdapter(statusList, statusCount, account, accountMention, visibility, editMessageId); composeAdapter.manageDrafts = this; composeAdapter.promptDraftListener = this; LinearLayoutManager mLayoutManager = new LinearLayoutManager(ComposeActivity.this); binding.recyclerView.setLayoutManager(mLayoutManager); binding.recyclerView.setAdapter(composeAdapter); Loading Loading @@ -627,6 +640,7 @@ public class ComposeActivity extends BaseActivity implements ComposeAdapter.Mana statusList.addAll(statusDraftList); composeAdapter = new ComposeAdapter(statusList, statusCount, account, accountMention, visibility, editMessageId); composeAdapter.manageDrafts = this; composeAdapter.promptDraftListener = this; LinearLayoutManager mLayoutManager = new LinearLayoutManager(ComposeActivity.this); binding.recyclerView.setLayoutManager(mLayoutManager); binding.recyclerView.setAdapter(composeAdapter); Loading @@ -637,6 +651,7 @@ public class ComposeActivity extends BaseActivity implements ComposeAdapter.Mana statusList.addAll(statusDraftList); composeAdapter = new ComposeAdapter(statusList, 0, account, accountMention, visibility, editMessageId); composeAdapter.manageDrafts = this; composeAdapter.promptDraftListener = this; LinearLayoutManager mLayoutManager = new LinearLayoutManager(ComposeActivity.this); binding.recyclerView.setLayoutManager(mLayoutManager); binding.recyclerView.setAdapter(composeAdapter); Loading @@ -653,8 +668,10 @@ public class ComposeActivity extends BaseActivity implements ComposeAdapter.Mana timer.scheduleAtFixedRate(new TimerTask() { @Override public void run() { if (promptSaveDraft) { storeDraft(false); } } }, 0, 10000); } Loading Loading @@ -872,6 +889,11 @@ public class ComposeActivity extends BaseActivity implements ComposeAdapter.Mana composeAdapter.updateContent(isChecked, acct); } @Override public void promptDraft() { promptSaveDraft = true; } public enum mediaType { PHOTO, Loading
app/src/main/java/app/fedilab/android/ui/drawer/ComposeAdapter.java +443 −427 File changed.Preview size limit exceeded, changes collapsed. Show changes