Merge branch 'theZacAttacks-update_compose_while_posting' Closes #114

This commit is contained in:
Vavassor 2017-04-11 19:09:06 -04:00
commit ac318bfe8f
3 changed files with 74 additions and 32 deletions

View file

@ -69,6 +69,7 @@ import android.widget.EditText;
import android.widget.ImageButton; import android.widget.ImageButton;
import android.widget.ImageView; import android.widget.ImageView;
import android.widget.LinearLayout; import android.widget.LinearLayout;
import android.widget.ProgressBar;
import android.widget.RelativeLayout; import android.widget.RelativeLayout;
import android.widget.TextView; import android.widget.TextView;
@ -120,6 +121,7 @@ public class ComposeActivity extends BaseActivity implements ComposeOptionsFrag
private Button floatingBtn; private Button floatingBtn;
private ImageButton pickBtn; private ImageButton pickBtn;
private Button nsfwBtn; private Button nsfwBtn;
private ProgressBar postProgress;
private static class QueuedMedia { private static class QueuedMedia {
enum Type { enum Type {
@ -339,11 +341,17 @@ public class ComposeActivity extends BaseActivity implements ComposeOptionsFrag
floatingBtn = (Button) findViewById(R.id.floating_btn); floatingBtn = (Button) findViewById(R.id.floating_btn);
pickBtn = (ImageButton) findViewById(R.id.compose_photo_pick); pickBtn = (ImageButton) findViewById(R.id.compose_photo_pick);
nsfwBtn = (Button) findViewById(R.id.action_toggle_nsfw); nsfwBtn = (Button) findViewById(R.id.action_toggle_nsfw);
ImageButton visibilityBtn = (ImageButton) findViewById(R.id.action_toggle_visibility); final ImageButton visibilityBtn = (ImageButton) findViewById(R.id.action_toggle_visibility);
floatingBtn.setOnClickListener(new View.OnClickListener() { floatingBtn.setOnClickListener(new View.OnClickListener() {
@Override @Override
public void onClick(View v) { public void onClick(View v) {
pickBtn.setClickable(false);
nsfwBtn.setClickable(false);
visibilityBtn.setClickable(false);
floatingBtn.setEnabled(false);
postProgress.setVisibility(View.VISIBLE);
sendStatus(); sendStatus();
} }
}); });
@ -393,6 +401,8 @@ public class ComposeActivity extends BaseActivity implements ComposeOptionsFrag
startingHideText = false; startingHideText = false;
} }
postProgress = (ProgressBar) findViewById(R.id.postProgress);
postProgress.setVisibility(View.INVISIBLE);
updateNsfwButtonColor(); updateNsfwButtonColor();
String[] mentionedUsernames = null; String[] mentionedUsernames = null;
@ -810,6 +820,7 @@ public class ComposeActivity extends BaseActivity implements ComposeOptionsFrag
} }
private void onSendFailure() { private void onSendFailure() {
postProgress.setVisibility(View.INVISIBLE);
textEditor.setError(getString(R.string.error_generic)); textEditor.setError(getString(R.string.error_generic));
statusAlreadyInFlight = false; statusAlreadyInFlight = false;
} }

View file

@ -0,0 +1,22 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_enabled="true">
<shape>
<corners
android:radius="3dp"/>
<solid
android:color="@color/md_blue_600"/>
</shape>
</item>
<item android:state_enabled="false">
<shape>
<corners
android:radius="3dp"/>
<solid
android:color="@color/md_blue_grey_300"/>
</shape>
</item>
</selector>

View file

@ -18,6 +18,43 @@
android:background="@android:color/transparent" android:background="@android:color/transparent"
android:elevation="4dp" /> android:elevation="4dp" />
<RelativeLayout
android:id="@+id/compose_edit_area"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:paddingBottom="4dp"
android:paddingLeft="16dp"
android:paddingRight="16dp">
<!--An special EditText is created at runtime here, because it has to be a modified
* anonymous class to support image/GIF picking from the soft keyboard.-->
<HorizontalScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true">
<LinearLayout
android:id="@+id/compose_media_preview_bar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<!--This is filled at runtime with ImageView's for each preview in the upload queue.-->
</LinearLayout>
</HorizontalScrollView>
<ProgressBar
android:id="@+id/postProgress"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true" />
</RelativeLayout>
<LinearLayout <LinearLayout
android:id="@+id/compose_content_warning_bar" android:id="@+id/compose_content_warning_bar"
android:layout_width="match_parent" android:layout_width="match_parent"
@ -44,35 +81,6 @@
android:background="?android:attr/listDivider"/> android:background="?android:attr/listDivider"/>
</LinearLayout> </LinearLayout>
<RelativeLayout
android:id="@+id/compose_edit_area"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:paddingBottom="4dp"
android:paddingLeft="16dp"
android:paddingRight="16dp">
<!--An special EditText is created at runtime here, because it has to be a modified
* anonymous class to support image/GIF picking from the soft keyboard.-->
<HorizontalScrollView
android:layout_alignParentBottom="true"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<LinearLayout
android:id="@+id/compose_media_preview_bar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<!--This is filled at runtime with ImageView's for each preview in the upload queue.-->
</LinearLayout>
</HorizontalScrollView>
</RelativeLayout>
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
@ -124,8 +132,9 @@
<Button <Button
android:id="@+id/floating_btn" android:id="@+id/floating_btn"
android:layout_width="wrap_content" android:background="@drawable/compose_button_colors"
android:layout_height="wrap_content" android:layout_width="80dp"
android:layout_height="35dp"
android:layout_marginLeft="10dp" android:layout_marginLeft="10dp"
android:text="@string/action_send" android:text="@string/action_send"
android:textColor="@android:color/white" /> android:textColor="@android:color/white" />