Skip to content
Snippets Groups Projects
Commit 1026796b authored by Jawnnypoo's avatar Jawnnypoo
Browse files

Pass things as parcelable instead of just holding static references. Use...

Pass things as parcelable instead of just holding static references. Use progress indicator in a few places instead of a progress dialog. Remove "..." on every string.
parent 184a0c68
No related branches found
No related tags found
No related merge requests found
Showing
with 265 additions and 146 deletions
package com.commit451.gitlab;
 
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.support.design.widget.Snackbar;
import android.support.v7.widget.Toolbar;
Loading
Loading
@@ -14,6 +16,8 @@ import com.commit451.gitlab.tools.Repository;
import com.commit451.gitlab.views.DiffView;
import com.commit451.gitlab.views.MessageView;
 
import org.parceler.Parcels;
import java.util.List;
 
import butterknife.Bind;
Loading
Loading
@@ -25,15 +29,26 @@ import timber.log.Timber;
 
public class DiffActivity extends BaseActivity {
 
private static final String EXTRA_COMMIT = "extra_commit";
public static Intent newInstance(Context context, DiffLine commit) {
Intent intent = new Intent(context, DiffActivity.class);
intent.putExtra(EXTRA_COMMIT, Parcels.wrap(commit));
return intent;
}
@Bind(R.id.toolbar) Toolbar toolbar;
@Bind(R.id.message_container) LinearLayout messageContainer;
@Bind(R.id.diff_container) LinearLayout diffContainer;
DiffLine commit;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_diff);
ButterKnife.bind(this);
commit = Parcels.unwrap(getIntent().getParcelableExtra(EXTRA_COMMIT));
init();
}
Loading
Loading
@@ -45,7 +60,7 @@ public class DiffActivity extends BaseActivity {
onBackPressed();
}
});
toolbar.setTitle(Repository.selectedCommit.getShortId());
toolbar.setTitle(commit.getShortId());
toolbar.inflateMenu(R.menu.diff);
toolbar.setOnMenuItemClickListener(new Toolbar.OnMenuItemClickListener() {
@Override
Loading
Loading
@@ -64,8 +79,8 @@ public class DiffActivity extends BaseActivity {
});
 
//TODO make this use RecyclerViews, cause this is insane
GitLabClient.instance().getCommit(Repository.selectedProject.getId(), Repository.selectedCommit.getId(), commitCallback);
GitLabClient.instance().getCommitDiff(Repository.selectedProject.getId(), Repository.selectedCommit.getId(), diffCallback);
GitLabClient.instance().getCommit(Repository.selectedProject.getId(), commit.getId(), commitCallback);
GitLabClient.instance().getCommitDiff(Repository.selectedProject.getId(), commit.getId(), diffCallback);
}
 
private Callback<DiffLine> commitCallback = new Callback<DiffLine>() {
Loading
Loading
package com.commit451.gitlab;
 
import android.annotation.SuppressLint;
import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
Loading
Loading
@@ -13,15 +14,17 @@ import android.webkit.MimeTypeMap;
import android.webkit.WebView;
 
import com.commit451.gitlab.api.GitLabClient;
import com.commit451.gitlab.model.DiffLine;
import com.commit451.gitlab.model.TreeItem;
import com.commit451.gitlab.tools.Repository;
 
import org.apache.commons.io.IOUtils;
import org.apache.commons.lang.StringEscapeUtils;
import org.parceler.Parcels;
 
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
 
import butterknife.Bind;
import butterknife.ButterKnife;
Loading
Loading
@@ -31,9 +34,25 @@ import retrofit.client.Response;
import timber.log.Timber;
 
public class FileActivity extends BaseActivity {
private static final String EXTRA_COMMIT = "extra_commit";
private static final String EXTRA_FILE = "extra_file";
private static final String EXTRA_PATH = "extra_path";
public static Intent newIntent(Context context, DiffLine commit, TreeItem file, String path) {
Intent intent = new Intent(context, FileActivity.class);
intent.putExtra(EXTRA_COMMIT, Parcels.wrap(commit));
intent.putExtra(EXTRA_FILE, Parcels.wrap(file));
intent.putExtra(EXTRA_PATH, path);
return intent;
}
@Bind(R.id.toolbar) Toolbar toolbar;
@Bind(R.id.file_blob) WebView fileBlobView;
DiffLine commit;
TreeItem file;
String path;
private byte[] fileBlob;
@Override
Loading
Loading
@@ -41,11 +60,16 @@ public class FileActivity extends BaseActivity {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_file);
ButterKnife.bind(this);
if(Repository.selectedFile != null) {
commit = Parcels.unwrap(getIntent().getParcelableExtra(EXTRA_COMMIT));
file = Parcels.unwrap(getIntent().getParcelableExtra(EXTRA_FILE));
path = getIntent().getStringExtra(EXTRA_PATH);
if(file != null) {
setupUI();
GitLabClient.instance().getBlob(Repository.selectedProject.getId(), Repository.newestCommit.getId(), getIntent().getExtras().getString("path") + Repository.selectedFile.getName(), blobCallback);
GitLabClient.instance().getBlob(
Repository.selectedProject.getId(),
commit.getId(),
path + file.getName(),
blobCallback);
}
}
Loading
Loading
@@ -58,7 +82,7 @@ public class FileActivity extends BaseActivity {
onBackPressed();
}
});
toolbar.setTitle(Repository.selectedFile.getName());
toolbar.setTitle(file.getName());
toolbar.setOnMenuItemClickListener(new Toolbar.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
Loading
Loading
@@ -87,9 +111,6 @@ public class FileActivity extends BaseActivity {
fileBlob = IOUtils.toByteArray(response.getBody().in());
content = new String(fileBlob, "UTF-8");
}
catch(UnsupportedEncodingException e) {
e.printStackTrace();
}
catch(IOException e) {
e.printStackTrace();
}
Loading
Loading
@@ -117,7 +138,7 @@ public class FileActivity extends BaseActivity {
if(!downloadFolder.exists())
downloadFolder.mkdir();
File newFile = new File(downloadFolder, Repository.selectedFile.getName());
File newFile = new File(downloadFolder, file.getName());
try {
FileOutputStream f = new FileOutputStream(newFile);
Loading
Loading
package com.commit451.gitlab;
 
import android.app.ProgressDialog;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
Loading
Loading
@@ -44,15 +43,13 @@ public class IssueActivity extends BaseActivity {
}
 
@Bind(R.id.toolbar) Toolbar toolbar;
@Bind(R.id.swipe_layout) SwipeRefreshLayout swipeRefreshLayout;
@Bind(R.id.list) RecyclerView listView;
@Bind(R.id.new_note_edit) EditText newNoteEdit;
@Bind(R.id.progress) View progress;
 
private NotesAdapter notesAdapter;
private ProgressDialog pd;
Issue issue;
@Override
protected void onCreate(Bundle savedInstanceState) {
Loading
Loading
@@ -60,12 +57,11 @@ public class IssueActivity extends BaseActivity {
setContentView(R.layout.activity_issue);
ButterKnife.bind(this);
 
Issue issue = Parcels.unwrap(getIntent().getParcelableExtra(EXTRA_SELECTED_ISSUE));
Timber.d("Issue " + issue.getDescription());
issue = Parcels.unwrap(getIntent().getParcelableExtra(EXTRA_SELECTED_ISSUE));
 
long tempId = Repository.selectedIssue.getIid();
long tempId = issue.getIid();
if(tempId < 1) {
tempId = Repository.selectedIssue.getId();
tempId = issue.getId();
}
 
toolbar.setNavigationIcon(R.drawable.ic_back);
Loading
Loading
@@ -77,7 +73,7 @@ public class IssueActivity extends BaseActivity {
});
toolbar.setTitle("Issue #" + tempId);
 
notesAdapter = new NotesAdapter();
notesAdapter = new NotesAdapter(issue);
listView.setLayoutManager(new LinearLayoutManager(this));
listView.setAdapter(notesAdapter);
 
Loading
Loading
@@ -93,7 +89,7 @@ public class IssueActivity extends BaseActivity {
private void load() {
swipeRefreshLayout.setRefreshing(true);
//TODO chain these
GitLabClient.instance().getIssueNotes(Repository.selectedProject.getId(), Repository.selectedIssue.getId(), notesCallback);
GitLabClient.instance().getIssueNotes(Repository.selectedProject.getId(), issue.getId(), notesCallback);
GitLabClient.instance().getMilestones(Repository.selectedProject.getId(), milestonesCallback);
GitLabClient.instance().getUsersFallback(Repository.selectedProject.getId(), usersCallback);
}
Loading
Loading
@@ -140,35 +136,30 @@ public class IssueActivity extends BaseActivity {
if(body.length() < 1) {
return;
}
pd = ProgressDialog.show(IssueActivity.this, "", getResources().getString(R.string.progress_dialog), true);
progress.setVisibility(View.VISIBLE);
progress.setAlpha(0.0f);
progress.animate().alpha(1.0f);
// Clear text & collapse keyboard
InputMethodManager imm = (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(newNoteEdit.getWindowToken(), 0);
newNoteEdit.setText("");
 
GitLabClient.instance().postIssueNote(Repository.selectedProject.getId(), Repository.selectedIssue.getId(), body, "", noteCallback);
GitLabClient.instance().postIssueNote(Repository.selectedProject.getId(), issue.getId(), body, "", noteCallback);
}
private Callback<Note> noteCallback = new Callback<Note>() {
@Override
public void success(Note note, Response resp) {
if(pd != null && pd.isShowing()) {
pd.cancel();
}
progress.setVisibility(View.GONE);
notesAdapter.addNote(note);
}
@Override
public void failure(RetrofitError e) {
Timber.e(e.toString());
if(pd != null && pd.isShowing()) {
pd.cancel();
}
progress.setVisibility(View.GONE);
Snackbar.make(getWindow().getDecorView(), getString(R.string.connection_error), Snackbar.LENGTH_SHORT)
.show();
}
Loading
Loading
@@ -178,9 +169,7 @@ public class IssueActivity extends BaseActivity {
@Override
public void success(Issue issue, Response resp) {
if(pd != null && pd.isShowing()) {
pd.cancel();
}
progress.setVisibility(View.GONE);
// Repository.selectedIssue.setState(stateSpinner.getSelectedItem().toString());
// Repository.selectedIssue.setAssignee((User) assigneeSpinner.getSelectedItem());
Loading
Loading
@@ -191,9 +180,7 @@ public class IssueActivity extends BaseActivity {
@Override
public void failure(RetrofitError e) {
Timber.e(e.toString());
if(pd != null && pd.isShowing()) {
pd.cancel();
}
progress.setVisibility(View.GONE);
Snackbar.make(getWindow().getDecorView(), getString(R.string.connection_error), Snackbar.LENGTH_SHORT)
.show();
}
Loading
Loading
package com.commit451.gitlab.adapter;
 
import android.content.Intent;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.view.ViewGroup;
Loading
Loading
@@ -8,7 +7,6 @@ import android.view.ViewGroup;
import com.commit451.gitlab.DiffActivity;
import com.commit451.gitlab.R;
import com.commit451.gitlab.model.DiffLine;
import com.commit451.gitlab.tools.Repository;
import com.commit451.gitlab.viewHolders.CommitViewHolder;
 
import java.util.List;
Loading
Loading
@@ -32,8 +30,7 @@ public class CommitsAdapter extends RecyclerView.Adapter<CommitViewHolder> {
@Override
public void onClick(View v) {
int position = (int) v.getTag(R.id.list_position);
Repository.selectedCommit = getValueAt(position);
v.getContext().startActivity(new Intent(v.getContext(), DiffActivity.class));
v.getContext().startActivity(DiffActivity.newInstance(v.getContext(), getValueAt(position)));
}
};
 
Loading
Loading
Loading
Loading
@@ -7,7 +7,6 @@ import android.view.ViewGroup;
import com.commit451.gitlab.IssueActivity;
import com.commit451.gitlab.R;
import com.commit451.gitlab.model.Issue;
import com.commit451.gitlab.tools.Repository;
import com.commit451.gitlab.viewHolders.IssueViewHolder;
 
import java.util.List;
Loading
Loading
@@ -31,7 +30,6 @@ public class IssuesAdapter extends RecyclerView.Adapter<IssueViewHolder> {
@Override
public void onClick(View v) {
int position = (int) v.getTag(R.id.list_position);
Repository.selectedIssue = getValueAt(position);
v.getContext().startActivity(IssueActivity.newInstance(v.getContext(), getValueAt(position)));
}
};
Loading
Loading
Loading
Loading
@@ -3,6 +3,7 @@ package com.commit451.gitlab.adapter;
import android.support.v7.widget.RecyclerView;
import android.view.ViewGroup;
 
import com.commit451.gitlab.model.Issue;
import com.commit451.gitlab.model.Milestone;
import com.commit451.gitlab.model.Note;
import com.commit451.gitlab.model.User;
Loading
Loading
@@ -26,8 +27,10 @@ public class NotesAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder>
private ArrayList<Note> mNotes;
private ArrayList<User> mUsers;
private ArrayList<Milestone> mMilestones;
private Issue mIssue;
 
public NotesAdapter() {
public NotesAdapter(Issue issue) {
mIssue = issue;
mNotes = new ArrayList<>();
mUsers = new ArrayList<>();
mMilestones = new ArrayList<>();
Loading
Loading
@@ -47,7 +50,7 @@ public class NotesAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder>
@Override
public void onBindViewHolder(final RecyclerView.ViewHolder holder, int position) {
if (holder instanceof IssueHeaderViewHolder) {
((IssueHeaderViewHolder) holder).bind();
((IssueHeaderViewHolder) holder).bind(mIssue);
} else if (holder instanceof NoteViewHolder) {
Note note = getNoteAt(position);
((NoteViewHolder) holder).bind(note);
Loading
Loading
package com.commit451.gitlab.dialogs;
import android.content.Context;
import android.support.design.widget.TextInputLayout;
import android.support.v7.app.AppCompatDialog;
import android.text.TextUtils;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;
import com.commit451.gitlab.IssueActivity;
import com.commit451.gitlab.R;
import com.commit451.gitlab.api.GitLabClient;
import com.commit451.gitlab.model.Issue;
import com.commit451.gitlab.tools.Repository;
import butterknife.Bind;
import butterknife.ButterKnife;
import butterknife.OnClick;
import retrofit.Callback;
import retrofit.RetrofitError;
import retrofit.client.Response;
import timber.log.Timber;
/**
* So many issues so little time
* Created by Jawn on 8/16/2015.
*/
public class NewIssueDialog extends AppCompatDialog {
@Bind(R.id.titleInputLayout) TextInputLayout titleInputLayout;
@Bind(R.id.title_input) EditText titleInput;
@Bind(R.id.descriptionInputLayout) TextInputLayout descriptionInputLayout;
@Bind(R.id.description_input) EditText descriptionInput;
@Bind(R.id.progress) View progress;
public NewIssueDialog(Context context) {
super(context);
setContentView(R.layout.dialog_add_issue);
ButterKnife.bind(this);
}
@OnClick(R.id.save_button)
public void onSaveClick() {
if(!TextUtils.isEmpty(titleInput.getText())) {
progress.setVisibility(View.VISIBLE);
progress.setAlpha(0.0f);
progress.animate().alpha(1.0f);
GitLabClient.instance().postIssue(Repository.selectedProject.getId(), titleInput.getText().toString().trim(), descriptionInput.getText().toString().trim(), "", issueCallback);
}
else {
titleInputLayout.setError(getContext().getString(R.string.required_field));
}
}
@OnClick(R.id.cancel_button)
public void onCancelClick() {
this.dismiss();
}
private Callback<Issue> issueCallback = new Callback<Issue>() {
@Override
public void success(Issue issue, Response resp) {
//TODO update the parent list when a new issue is created
getContext().startActivity(IssueActivity.newInstance(getContext(), issue));
dismiss();
}
@Override
public void failure(RetrofitError e) {
Timber.e(e.toString());
progress.setVisibility(View.GONE);
Toast.makeText(getContext(), getContext().getString(R.string.connection_error), Toast.LENGTH_SHORT)
.show();
}
};
}
package com.commit451.gitlab.fragments;
 
import android.app.ProgressDialog;
import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.DialogFragment;
import android.view.LayoutInflater;
Loading
Loading
@@ -82,8 +81,7 @@ public class AddIssueDialogFragment extends DialogFragment {
}
 
//TODO update the parent list when a new issue is created
Repository.selectedIssue = issue;
startActivity(new Intent(getActivity(), IssueActivity.class));
startActivity(IssueActivity.newInstance(getActivity(), issue));
AddIssueDialogFragment.this.dismiss();
}
Loading
Loading
Loading
Loading
@@ -31,8 +31,6 @@ public class CommitsFragment extends Fragment implements SwipeRefreshLayout.OnRe
@Bind(R.id.swipe_layout) SwipeRefreshLayout swipeLayout;
@Bind(R.id.message_text) View messageView;
public CommitsFragment() {}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_commits, container, false);
Loading
Loading
@@ -94,12 +92,10 @@ public class CommitsFragment extends Fragment implements SwipeRefreshLayout.OnRe
swipeLayout.setRefreshing(false);
if(commits.size() > 0) {
Repository.newestCommit = commits.get(0);
messageView.setVisibility(View.GONE);
}
else {
Timber.d("No commits have been made");
Repository.newestCommit = null;
messageView.setVisibility(View.VISIBLE);
}
listView.setAdapter(new CommitsAdapter(commits));
Loading
Loading
package com.commit451.gitlab.fragments;
 
import android.content.Intent;
import android.os.Bundle;
import android.support.design.widget.Snackbar;
import android.support.v4.app.Fragment;
Loading
Loading
@@ -172,21 +171,19 @@ public class FilesFragment extends Fragment implements SwipeRefreshLayout.OnRefr
@Override
public void onClick(View v) {
int position = (int) v.getTag(R.id.list_position);
Repository.selectedFile = getValueAt(position);
TreeItem treeItem = getValueAt(position);
 
if(Repository.selectedFile.getType().equals("tree")) {
path.add(Repository.selectedFile.getName() + "/");
if(treeItem.getType().equals("tree")) {
path.add(treeItem.getName() + "/");
loadFiles();
}
else if(Repository.selectedFile.getType().equals("blob")) {
else if(treeItem.getType().equals("blob")) {
String pathExtra = "";
for(String p : path) {
pathExtra += p;
}
 
Intent i = new Intent(getActivity(), FileActivity.class);
i.putExtra("path", pathExtra);
startActivity(i);
startActivity(FileActivity.newIntent(getActivity(), null, treeItem, pathExtra));
}
}
};
Loading
Loading
Loading
Loading
@@ -2,9 +2,7 @@ package com.commit451.gitlab.fragments;
 
import android.os.Bundle;
import android.support.design.widget.Snackbar;
import android.support.v4.app.DialogFragment;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentTransaction;
import android.support.v4.widget.SwipeRefreshLayout;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
Loading
Loading
@@ -16,6 +14,7 @@ import com.commit451.gitlab.GitLabApp;
import com.commit451.gitlab.R;
import com.commit451.gitlab.adapter.IssuesAdapter;
import com.commit451.gitlab.api.GitLabClient;
import com.commit451.gitlab.dialogs.NewIssueDialog;
import com.commit451.gitlab.events.ProjectChangedEvent;
import com.commit451.gitlab.model.Issue;
import com.commit451.gitlab.tools.Repository;
Loading
Loading
@@ -109,9 +108,7 @@ public class IssuesFragment extends Fragment implements SwipeRefreshLayout.OnRef
 
@OnClick(R.id.add_issue_button)
public void onAddIssueClick() {
FragmentTransaction ft = getFragmentManager().beginTransaction();
DialogFragment newFragment = AddIssueDialogFragment.newInstance();
newFragment.show(ft, "dialog");
new NewIssueDialog(getActivity()).show();
}
 
private class EventReceiver {
Loading
Loading
Loading
Loading
@@ -96,10 +96,10 @@ public class UsersFragment extends Fragment implements SwipeRefreshLayout.OnRefr
@Override
public void success(List<User> users, Response resp) {
if(swipeLayout != null && swipeLayout.isRefreshing()) {
swipeLayout.setRefreshing(false);
if (getView() == null) {
return;
}
swipeLayout.setRefreshing(false);
errorText.setVisibility(View.GONE);
listView.setVisibility(View.VISIBLE);
addUserButton.setVisibility(View.VISIBLE);
Loading
Loading
@@ -111,9 +111,10 @@ public class UsersFragment extends Fragment implements SwipeRefreshLayout.OnRefr
@Override
public void failure(RetrofitError e) {
if(swipeLayout != null && swipeLayout.isRefreshing()) {
swipeLayout.setRefreshing(false);
if (getView() == null) {
return;
}
swipeLayout.setRefreshing(false);
errorText.setVisibility(View.VISIBLE);
addUserButton.setVisibility(View.GONE);
Timber.e(e.toString());
Loading
Loading
Loading
Loading
@@ -3,11 +3,8 @@ package com.commit451.gitlab.tools;
import android.content.Context;
 
import com.commit451.gitlab.model.Branch;
import com.commit451.gitlab.model.DiffLine;
import com.commit451.gitlab.model.Group;
import com.commit451.gitlab.model.Issue;
import com.commit451.gitlab.model.Project;
import com.commit451.gitlab.model.TreeItem;
import com.commit451.gitlab.model.User;
 
import java.util.ArrayList;
Loading
Loading
@@ -21,12 +18,7 @@ public class Repository {
public static Project selectedProject;
public static Branch selectedBranch;
public static Issue selectedIssue;
public static TreeItem selectedFile;
public static User selectedUser;
public static DiffLine selectedCommit;
public static DiffLine newestCommit;
public static float displayWidth;
Loading
Loading
@@ -39,10 +31,6 @@ public class Repository {
selectedProject = null;
selectedBranch = null;
selectedIssue = null;
selectedFile = null;
selectedUser = null;
newestCommit = null;
}
}
Loading
Loading
@@ -9,7 +9,7 @@ import android.widget.Spinner;
import android.widget.TextView;
 
import com.commit451.gitlab.R;
import com.commit451.gitlab.tools.Repository;
import com.commit451.gitlab.model.Issue;
 
import butterknife.Bind;
import butterknife.ButterKnife;
Loading
Loading
@@ -37,10 +37,10 @@ public class IssueHeaderViewHolder extends RecyclerView.ViewHolder {
ButterKnife.bind(this, view);
}
 
public void bind() {
title.setText(Repository.selectedIssue.getTitle());
public void bind(Issue issue) {
title.setText(issue.getTitle());
Bypass bypass = new Bypass();
String desc = Repository.selectedIssue.getDescription();
String desc = issue.getDescription();
if(desc == null) {
desc = "";
}
Loading
Loading
Loading
Loading
@@ -70,4 +70,6 @@
 
</LinearLayout>
 
<include layout="@layout/progress"/>
</FrameLayout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<EditText
android:id="@+id/title_input"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:layout_margin="5dp"
android:inputType="text"
android:hint="@string/title_hint" >
<requestFocus />
</EditText>
<EditText
android:id="@+id/description_input"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:layout_margin="5dp"
android:inputType="text"
android:hint="@string/description_hint" />
<View
android:id="@+id/lsep"
android:layout_width="match_parent"
android:layout_height="1dip"
android:background="?android:attr/dividerHorizontal" />
android:layout_height="match_parent">
<LinearLayout
android:id="@+id/lin"
style="?android:attr/buttonBarStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
android:layout_height="match_parent"
android:orientation="vertical">
 
<Button
android:id="@+id/cancel_button"
style="?android:attr/buttonBarButtonStyle"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="1"
android:focusable="true"
android:text="@string/cancel_button" />
<Button
android:id="@+id/save_button"
style="?android:attr/buttonBarButtonStyle"
android:layout_width="0dip"
<android.support.design.widget.TextInputLayout
android:id="@+id/titleInputLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<EditText
android:id="@+id/title_input"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:ems="10"
android:hint="@string/title_hint"
android:inputType="text">
<requestFocus />
</EditText>
</android.support.design.widget.TextInputLayout>
<android.support.design.widget.TextInputLayout
android:id="@+id/descriptionInputLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<EditText
android:id="@+id/description_input"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:ems="10"
android:hint="@string/description_hint"
android:inputType="text" />
</android.support.design.widget.TextInputLayout>
<View
android:id="@+id/lsep"
android:layout_width="match_parent"
android:layout_height="1dip"
android:background="?android:attr/dividerHorizontal" />
<LinearLayout
android:id="@+id/lin"
style="?android:attr/buttonBarStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:focusable="true"
android:text="@string/save_button" />
android:orientation="horizontal">
<Button
android:id="@+id/cancel_button"
style="?android:attr/buttonBarButtonStyle"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="1"
android:focusable="true"
android:text="@string/cancel_button" />
<Button
android:id="@+id/save_button"
style="?android:attr/buttonBarButtonStyle"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="1"
android:focusable="true"
android:text="@string/save_button" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
\ No newline at end of file
<include layout="@layout/progress"/>
</FrameLayout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<com.pnikosis.materialishprogress.ProgressWheel xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/progress"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center"
android:background="@color/grey_60"
android:visibility="gone"
app:matProg_barColor="?attr/colorAccent"
app:matProg_progressIndeterminate="true" />
\ No newline at end of file
Loading
Loading
@@ -50,6 +50,7 @@
<string name="groups_not_supported">Um die Benutzer eine Gruppe bearbeiten zu können wird GitLab 6.1 oder höher benötigt&#8230;</string>
<string name="not_in_group">Benutzerverwaltung ist nur bei Projekten die einer Gruppe zugeordnet sind möglich&#8230;</string>
 
<string name="required_field">Pflichtfeld</string>
<!-- General -->
<string name="projects">Projekte</string>
<string name="selected_content_description">Selektiert</string>
Loading
Loading
Loading
Loading
@@ -49,6 +49,7 @@
<string name="groups_not_supported">Per aggiungere o rimuovere utenti dai gruppi è necessario GitLab 6.1 o superiore&#8230;</string>
<string name="not_in_group">Lo user management è disponibile solo per progetti assegnati a gruppi&#8230;</string>
 
<string name="required_field">Campo Obbligatorio</string>
<!-- General -->
<string name="projects">Progetti</string>
<string name="selected_content_description">Selezionato</string>
Loading
Loading
Loading
Loading
@@ -3,7 +3,11 @@
<color name="red">#DF461B</color>
<color name="orange">#FB6C17</color>
<color name="yellow">#FAA11A</color>
<color name="grey">#373D47</color>
<color name="grey_60">#99373D47</color>
<color name="grey_dark">#1E242E</color>
<color name="purple">#554488</color>
<color name="purple_dark">#3C2B6F</color>
</resources>
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment