fix toolbar title, add ms list to edit issue. #2

This commit is contained in:
M M Arif 2019-06-09 00:50:08 +05:00
parent f4ee0bbfbf
commit e5ddb83fbb
4 changed files with 90 additions and 49 deletions

View File

@ -8,6 +8,7 @@ import retrofit2.Response;
import android.annotation.SuppressLint;
import android.app.DatePickerDialog;
import android.content.Context;
import android.graphics.PorterDuff;
import android.graphics.drawable.GradientDrawable;
import android.os.Bundle;
import android.util.Log;
@ -31,10 +32,12 @@ import org.mian.gitnex.helpers.Toasty;
import org.mian.gitnex.models.Collaborators;
import org.mian.gitnex.models.CreateIssue;
import org.mian.gitnex.models.Issues;
import org.mian.gitnex.models.Milestones;
import org.mian.gitnex.util.AppUtil;
import org.mian.gitnex.util.TinyDB;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;
@ -53,6 +56,7 @@ public class EditIssueActivity extends AppCompatActivity implements View.OnClick
private Button editIssueButton;
private Spinner editIssueMilestoneSpinner;
List<Milestones> milestonesList = new ArrayList<>();
private ArrayAdapter<Mention> defaultMentionAdapter;
@Override
@ -82,6 +86,9 @@ public class EditIssueActivity extends AppCompatActivity implements View.OnClick
defaultMentionAdapter = new MentionArrayAdapter<>(this);
loadCollaboratorsList();
editIssueMilestoneSpinner = findViewById(R.id.editIssueMilestoneSpinner);
editIssueMilestoneSpinner.getBackground().setColorFilter(getResources().getColor(R.color.white), PorterDuff.Mode.SRC_ATOP);
editIssueDescription.setMentionAdapter(defaultMentionAdapter);
initCloseListener();
@ -292,7 +299,7 @@ public class EditIssueActivity extends AppCompatActivity implements View.OnClick
}
private void getIssue(String instanceUrl, String instanceToken, String loginUid, String repoOwner, String repoName, int issueIndex) {
private void getIssue(final String instanceUrl, final String instanceToken, final String loginUid, final String repoOwner, final String repoName, int issueIndex) {
Call<Issues> call = RetrofitClient
.getInstance(instanceUrl)
@ -310,6 +317,74 @@ public class EditIssueActivity extends AppCompatActivity implements View.OnClick
editIssueTitle.setText(response.body().getTitle());
editIssueDescription.setText(response.body().getBody());
int msId = 0;
if(response.body().getMilestone() != null) {
msId = response.body().getMilestone().getId();
}
// get milestones list
if(response.body().getId() > 0) {
Call<List<Milestones>> call_ = RetrofitClient
.getInstance(instanceUrl)
.getApiInterface()
.getMilestones(Authorization.returnAuthentication(getApplicationContext(), loginUid, instanceToken), repoOwner, repoName);
final int finalMsId = msId;
call_.enqueue(new Callback<List<Milestones>>() {
@Override
public void onResponse(@NonNull Call<List<Milestones>> call, @NonNull retrofit2.Response<List<Milestones>> response_) {
int finalMsId1 = 0;
if (response_.code() == 200) {
List<Milestones> milestonesList_ = response_.body();
milestonesList.add(new Milestones(0, "No milestone"));
assert milestonesList_ != null;
if (milestonesList_.size() > 0) {
for (int i = 0; i < milestonesList_.size(); i++) {
Milestones data = new Milestones(
milestonesList_.get(i).getId(),
milestonesList_.get(i).getTitle()
);
milestonesList.add(data);
if(finalMsId == milestonesList_.get(i).getId()) {
finalMsId1 = i + 1;
}
}
}
ArrayAdapter<Milestones> adapter_ = new ArrayAdapter<>(getApplicationContext(),
R.layout.spinner_item, milestonesList);
adapter_.setDropDownViewResource(R.layout.spinner_dropdown_item);
editIssueMilestoneSpinner.setAdapter(adapter_);
if(milestonesList_.size() > 0) {
editIssueMilestoneSpinner.setSelection(finalMsId1);
}
enableProcessButton();
}
}
@Override
public void onFailure(@NonNull Call<List<Milestones>> call, @NonNull Throwable t) {
Log.e("onFailure", t.toString());
}
});
}
// get milestones list
if(response.body().getDue_date() != null) {
@SuppressLint("SimpleDateFormat") DateFormat formatter = new SimpleDateFormat("yyyy-M-dd");
@ -317,7 +392,7 @@ public class EditIssueActivity extends AppCompatActivity implements View.OnClick
editIssueDueDate.setText(dueDate);
}
enableProcessButton();
//enableProcessButton();
}
else if(response.code() == 401) {

View File

@ -74,7 +74,6 @@ import java.util.Objects;
public class IssueDetailActivity extends AppCompatActivity {
public ImageView closeActivity;
private View.OnClickListener onClickListener;
private IssueCommentsAdapter adapter;
private RecyclerView mRecyclerView;
private ImageView assigneeAvatar;
@ -110,7 +109,6 @@ public class IssueDetailActivity extends AppCompatActivity {
final SwipeRefreshLayout swipeRefresh = findViewById(R.id.pullToRefresh);
closeActivity = findViewById(R.id.close);
assigneeAvatar = findViewById(R.id.assigneeAvatar);
issueTitle = findViewById(R.id.issueTitle);
issueDescription = findViewById(R.id.issueDescription);
@ -127,10 +125,7 @@ public class IssueDetailActivity extends AppCompatActivity {
Toolbar toolbar = findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
Objects.requireNonNull(getSupportActionBar()).setTitle(repoName);
getSupportActionBar().setDisplayHomeAsUpEnabled(false);
initCloseListener();
closeActivity.setOnClickListener(onClickListener);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
mRecyclerView = findViewById(R.id.recyclerView);
mRecyclerView.setHasFixedSize(true);
@ -437,6 +432,7 @@ public class IssueDetailActivity extends AppCompatActivity {
PrettyTime prettyTime = new PrettyTime(new Locale(locale));
String createdTime = prettyTime.format(singleIssue.getCreated_at());
issueCreatedTime.setText(getString(R.string.createdTime, createdTime));
issueCreatedTime.setVisibility(View.VISIBLE);
issueCreatedTime.setOnClickListener(new ClickListener(TimeHelper.customDateFormatForToastDateFormat(singleIssue.getCreated_at()), getApplicationContext()));
break;
}
@ -444,12 +440,14 @@ public class IssueDetailActivity extends AppCompatActivity {
DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd '" + getResources().getString(R.string.timeAtText) + "' HH:mm", new Locale(locale));
String createdTime = formatter.format(singleIssue.getCreated_at());
issueCreatedTime.setText(getString(R.string.createdTime, createdTime));
issueCreatedTime.setVisibility(View.VISIBLE);
break;
}
case "normal1": {
DateFormat formatter = new SimpleDateFormat("dd-MM-yyyy '" + getResources().getString(R.string.timeAtText) + "' HH:mm", new Locale(locale));
String createdTime = formatter.format(singleIssue.getCreated_at());
issueCreatedTime.setText(getString(R.string.createdTime, createdTime));
issueCreatedTime.setVisibility(View.VISIBLE);
break;
}
}
@ -490,7 +488,7 @@ public class IssueDetailActivity extends AppCompatActivity {
}
private void initCloseListener() {
onClickListener = new View.OnClickListener() {
View.OnClickListener onClickListener = new View.OnClickListener() {
@Override
public void onClick(View view) {
finish();

View File

@ -10,7 +10,6 @@
android:layout_height="wrap_content">
<androidx.appcompat.widget.Toolbar
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/toolbar"
android:layout_width="match_parent"

View File

@ -1,6 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
android:fitsSystemWindows="true"
xmlns:android="http://schemas.android.com/apk/res/android"
@ -8,54 +9,21 @@
<com.google.android.material.appbar.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >
android:layout_height="wrap_content"
android:theme="@style/AppTheme.AppBarOverlay" >
<androidx.appcompat.widget.Toolbar
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:layout_weight="1"
android:background="?attr/colorPrimary"
tools:ignore="UnusedAttribute">
<ImageView
android:id="@+id/close"
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_marginRight="15dp"
android:layout_marginLeft="15dp"
android:gravity="center_vertical"
android:contentDescription="@string/close"
android:src="@drawable/ic_close" />
<TextView
android:id="@+id/toolbar_title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:text="@string/generalPageTitle"
android:textColor="@color/white"
android:maxLines="1"
android:textSize="20sp" />
<ImageView
android:id="@+id/editIssue1"
android:layout_width="28dp"
android:layout_height="28dp"
android:layout_marginRight="15dp"
android:layout_marginLeft="15dp"
android:gravity="end"
android:layout_gravity="end"
android:visibility="gone"
android:contentDescription="@string/editText"
android:src="@drawable/ic_edit" />
</androidx.appcompat.widget.Toolbar>
app:popupTheme="@style/AppTheme.PopupOverlay"
app:title="@string/app_name" />
</com.google.android.material.appbar.AppBarLayout>
<RelativeLayout
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/relativeMainLayoutFrame"
android:layout_width="match_parent"
android:layout_height="match_parent"
@ -73,7 +41,6 @@
android:fillViewport="true">
<RelativeLayout
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/relativeLayoutFrame"
android:layout_width="match_parent"
android:layout_height="wrap_content"
@ -194,6 +161,7 @@
android:layout_height="wrap_content"
android:gravity="start"
android:text="@string/createdText"
android:visibility="gone"
android:textColor="@color/colorWhite"
android:textSize="12sp" />
@ -204,6 +172,7 @@
android:textColor="@color/white"
android:layout_toEndOf="@+id/issueCreatedTime"
android:textSize="12sp"
android:visibility="gone"
android:text="@string/modifiedText" />
</RelativeLayout>