Add cancel and retry buttons on layout contribution

This commit is contained in:
neslihanturan 2018-12-12 17:15:15 +03:00
parent f3a90c004c
commit c7f6849cef
14 changed files with 101 additions and 26 deletions

View file

@ -1,6 +1,8 @@
package fr.free.nrw.commons.contributions;
import android.view.View;
import android.widget.Button;
import android.widget.ImageButton;
import android.widget.ProgressBar;
import android.widget.TextView;
@ -13,6 +15,8 @@ class ContributionViewHolder {
final TextView stateView;
final TextView seqNumView;
final ProgressBar progressView;
final ImageButton retryButton;
final ImageButton cancelButton;
ContributionViewHolder(View parent) {
imageView = parent.findViewById(R.id.contributionImage);
@ -20,5 +24,7 @@ class ContributionViewHolder {
stateView = parent.findViewById(R.id.contributionState);
seqNumView = parent.findViewById(R.id.contributionSequenceNumber);
progressView = parent.findViewById(R.id.contributionProgress);
retryButton = parent.findViewById(R.id.retryButton);
cancelButton = parent.findViewById(R.id.cancelButton);
}
}

View file

@ -3,6 +3,7 @@ package fr.free.nrw.commons.contributions;
import android.content.Context;
import android.database.Cursor;
import android.support.v4.widget.CursorAdapter;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
@ -37,20 +38,40 @@ class ContributionsListAdapter extends CursorAdapter {
views.seqNumView.setText(String.valueOf(cursor.getPosition() + 1));
views.seqNumView.setVisibility(View.VISIBLE);
views.retryButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Log.d("deneme","Retry button is clicked");
}
});
views.cancelButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Log.d("deneme","Cancel button is clicked");
}
});
switch (contribution.getState()) {
case Contribution.STATE_COMPLETED:
views.stateView.setVisibility(View.GONE);
views.progressView.setVisibility(View.GONE);
views.retryButton.setVisibility(View.GONE);
views.cancelButton.setVisibility(View.GONE);
views.stateView.setText("");
break;
case Contribution.STATE_QUEUED:
views.stateView.setVisibility(View.VISIBLE);
views.progressView.setVisibility(View.GONE);
views.stateView.setText(R.string.contribution_state_queued);
views.retryButton.setVisibility(View.GONE);
views.cancelButton.setVisibility(View.GONE);
break;
case Contribution.STATE_IN_PROGRESS:
views.stateView.setVisibility(View.GONE);
views.progressView.setVisibility(View.VISIBLE);
views.retryButton.setVisibility(View.GONE);
views.cancelButton.setVisibility(View.GONE);
long total = contribution.getDataLength();
long transferred = contribution.getTransferred();
if (transferred == 0 || transferred >= total) {
@ -63,6 +84,8 @@ class ContributionsListAdapter extends CursorAdapter {
views.stateView.setVisibility(View.VISIBLE);
views.stateView.setText(R.string.contribution_state_failed);
views.progressView.setVisibility(View.GONE);
views.retryButton.setVisibility(View.VISIBLE);
views.cancelButton.setVisibility(View.VISIBLE);
break;
}
}

View file

@ -8,6 +8,7 @@ import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.annotation.VisibleForTesting;
import android.text.TextUtils;
import android.util.Log;
import com.google.gson.Gson;
@ -897,6 +898,7 @@ public class ApacheHttpClientMediaWikiApi implements MediaWikiApi {
if (!resultStatus.equals("Success")) {
String errorCode = result.getString("/api/error/@code");
Log.d("deneme","error code: "+errorCode);
Timber.e(errorCode);
return new UploadResult(resultStatus, errorCode);
} else {

Binary file not shown.

After

Width:  |  Height:  |  Size: 351 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 449 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 256 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 279 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 470 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 570 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 764 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 945 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1,016 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

View file

@ -28,39 +28,83 @@
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_gravity="center|bottom"
android:background="#AA000000"
android:orientation="vertical"
android:padding="@dimen/small_gap"
android:weightSum="4"
>
<ProgressBar
android:id="@+id/contributionProgress"
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="@style/ProgressBar"
android:indeterminateOnly="false"
android:max="100"
android:visibility="gone"
/>
<TextView
android:id="@+id/contributionState"
android:layout_width="wrap_content"
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
style="?android:textAppearanceSmall"
android:textColor="#FFFFFFFF"
android:visibility="gone"
/>
android:layout_weight="3"
android:layout_gravity="center|bottom"
android:orientation="vertical"
android:padding="@dimen/small_gap"
>
<ProgressBar
android:id="@+id/contributionProgress"
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="@style/ProgressBar"
android:indeterminateOnly="false"
android:max="100"
android:visibility="gone"
/>
<TextView
android:id="@+id/contributionTitle"
android:layout_width="wrap_content"
<TextView
android:id="@+id/contributionState"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="?android:textAppearanceSmall"
android:textColor="#FFFFFFFF"
android:visibility="gone"
/>
<TextView
android:id="@+id/contributionTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#FFFFFFFF"
style="?android:textAppearanceMedium"
android:maxLines="2"
android:ellipsize="end"
/>
</LinearLayout>
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:textColor="#FFFFFFFF"
style="?android:textAppearanceMedium"
android:maxLines="2"
android:ellipsize="end"
/>
android:layout_weight="1"
android:orientation="horizontal"
android:padding="@dimen/small_gap"
>
<ImageButton
android:id="@+id/cancelButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_cancel_white"
android:text="@string/menu_cancel_upload"
android:background="@android:color/transparent"
android:layout_margin="8dp"
android:visibility="gone"
/>
<ImageButton
android:id="@+id/retryButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_retry_white"
android:text="@string/menu_retry_upload"
android:background="@android:color/transparent"
android:layout_margin="8dp"
android:visibility="gone"
/>
</LinearLayout>
</LinearLayout>
</FrameLayout>