Skip to content
Snippets Groups Projects
Commit 0d07e906 authored by Jawnnypoo's avatar Jawnnypoo
Browse files

Start on adding label to issues

parent 4e572bae
No related branches found
No related tags found
No related merge requests found
Showing
with 327 additions and 89 deletions
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.commit451.gitlab">
package="com.commit451.gitlab">
 
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.GET_ACCOUNTS"/>
 
<application
android:name=".App"
Loading
Loading
@@ -17,53 +17,54 @@
 
<meta-data
android:name="io.fabric.ApiKey"
android:value="${fabric_key}" />
android:value="${fabric_key}"/>
 
<activity
android:name=".activity.LaunchActivity"
android:noHistory="true"
android:theme="@android:style/Theme.NoDisplay">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
 
<activity
android:name=".activity.ProjectsActivity"
android:launchMode="singleTask"
android:theme="@style/Activity.Projects" />
android:theme="@style/Activity.Projects"/>
<activity
android:name=".activity.GroupsActivity"
android:launchMode="singleTask"
android:theme="@style/Activity.Groups" />
android:theme="@style/Activity.Groups"/>
<activity
android:name=".activity.ActivityActivity"
android:launchMode="singleTask"
android:theme="@style/Activity.Activity" />
<activity android:name=".activity.ProjectActivity" />
<activity android:name=".activity.LoginActivity" />
<activity android:name=".activity.FileActivity" />
<activity android:name=".activity.IssueActivity" />
<activity android:name=".activity.DiffActivity" />
<activity android:name=".activity.AboutActivity" />
<activity android:name=".activity.AddUserActivity" />
android:theme="@style/Activity.Activity"/>
<activity android:name=".activity.ProjectActivity"/>
<activity android:name=".activity.LoginActivity"/>
<activity android:name=".activity.FileActivity"/>
<activity android:name=".activity.IssueActivity"/>
<activity android:name=".activity.DiffActivity"/>
<activity android:name=".activity.AboutActivity"/>
<activity android:name=".activity.AddUserActivity"/>
<activity
android:name=".activity.UserActivity"
android:theme="@style/Activity.User" />
<activity android:name=".activity.SearchActivity" />
android:theme="@style/Activity.User"/>
<activity android:name=".activity.SearchActivity"/>
<activity
android:name=".activity.GroupActivity"
android:theme="@style/Activity.Group" />
<activity android:name=".activity.MergeRequestActivity" />
<activity android:name=".activity.AddIssueActivity" />
<activity android:name=".activity.MilestoneActivity" />
<activity android:name=".activity.AddMilestoneActivity" />
<activity android:name=".activity.BuildActivity" />
android:theme="@style/Activity.Group"/>
<activity android:name=".activity.MergeRequestActivity"/>
<activity android:name=".activity.AddIssueActivity"/>
<activity android:name=".activity.MilestoneActivity"/>
<activity android:name=".activity.AddMilestoneActivity"/>
<activity android:name=".activity.BuildActivity"/>
<activity
android:name=".activity.LoadSomeInfoActivity"
android:theme="@style/Activity.Translucent" />
<activity android:name=".activity.SettingsActivity" />
android:theme="@style/Activity.Translucent"/>
<activity android:name=".activity.SettingsActivity"/>
<activity android:name=".activity.AddLabelActivity"/>
 
<activity
android:name=".activity.RoutingActivity"
Loading
Loading
@@ -72,33 +73,35 @@
android:theme="@android:style/Theme.NoDisplay">
<!-- Standard Url -->
<intent-filter android:label="@string/deeplink_text">
<action android:name="android.intent.action.VIEW" />
<action android:name="android.intent.action.VIEW"/>
 
<category android:name="android.intent.category.BROWSABLE" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE"/>
<category android:name="android.intent.category.DEFAULT"/>
 
<data android:scheme="@string/deeplink_scheme" />
<data android:scheme="@string/deeplink_scheme"/>
</intent-filter>
</activity>
 
<activity android:name=".widget.FeedWidgetConfigureActivity">
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_CONFIGURE" />
<action android:name="android.appwidget.action.APPWIDGET_CONFIGURE"/>
</intent-filter>
</activity>
 
<receiver android:name=".widget.FeedWidgetProvider"
<receiver
android:name=".widget.FeedWidgetProvider"
android:label="GitLab Feed">
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
<action android:name="android.appwidget.action.APPWIDGET_UPDATE"/>
</intent-filter>
<meta-data android:name="android.appwidget.provider"
android:resource="@xml/widget_feed" />
<meta-data
android:name="android.appwidget.provider"
android:resource="@xml/widget_feed"/>
</receiver>
 
<service
android:name=".widget.FeedWidgetService"
android:permission="android.permission.BIND_REMOTEVIEWS" />
android:permission="android.permission.BIND_REMOTEVIEWS"/>
 
</application>
 
Loading
Loading
Loading
Loading
@@ -22,7 +22,7 @@ import com.commit451.gitlab.R;
import com.commit451.easycallback.EasyCallback;
import com.commit451.gitlab.api.GitLabClient;
import com.commit451.gitlab.model.api.Contributor;
import com.commit451.gitlab.navigation.NavigationManager;
import com.commit451.gitlab.navigation.Navigator;
import com.commit451.gitlab.transformation.CircleTransformation;
import com.commit451.gitlab.util.ImageUtil;
import com.commit451.gitlab.util.IntentUtil;
Loading
Loading
@@ -65,7 +65,7 @@ public class AboutActivity extends BaseActivity {
@OnClick(R.id.sauce)
void onSauceClick() {
if (getString(R.string.url_gitlab).equals(GitLabClient.getAccount().getServerUrl().toString())) {
NavigationManager.navigateToProject(AboutActivity.this, REPO_ID);
Navigator.navigateToProject(AboutActivity.this, REPO_ID);
} else {
IntentUtil.openPage(AboutActivity.this, getString(R.string.source_url));
}
Loading
Loading
Loading
Loading
@@ -30,7 +30,7 @@ import com.commit451.gitlab.model.api.Label;
import com.commit451.gitlab.model.api.Member;
import com.commit451.gitlab.model.api.Milestone;
import com.commit451.gitlab.model.api.Project;
import com.commit451.gitlab.navigation.NavigationManager;
import com.commit451.gitlab.navigation.Navigator;
import com.commit451.gitlab.view.AdapterFlowLayout;
import com.commit451.teleprinter.Teleprinter;
 
Loading
Loading
@@ -51,6 +51,7 @@ import timber.log.Timber;
*/
public class AddIssueActivity extends MorphActivity {
 
private static final int REQUEST_LABEL = 1;
private static final String KEY_PROJECT = "project";
private static final String KEY_ISSUE = "issue";
 
Loading
Loading
@@ -100,12 +101,12 @@ public class AddIssueActivity extends MorphActivity {
 
@OnClick(R.id.text_add_labels)
void onAddLabelsClick() {
NavigationManager.navigateToAddLabels(AddIssueActivity.this, mProject, mIssue);
Navigator.navigateToAddLabels(AddIssueActivity.this, mProject, REQUEST_LABEL);
}
 
@OnClick(R.id.list_labels)
void onLabelsClicked() {
NavigationManager.navigateToAddLabels(AddIssueActivity.this, mProject, mIssue);
Navigator.navigateToAddLabels(AddIssueActivity.this, mProject, REQUEST_LABEL);
}
 
private final Callback<List<Milestone>> mMilestonesCallback = new EasyCallback<List<Milestone>>() {
Loading
Loading
package com.commit451.gitlab.activity;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.v4.widget.SwipeRefreshLayout;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.support.v7.widget.Toolbar;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import com.commit451.easycallback.EasyCallback;
import com.commit451.gitlab.R;
import com.commit451.gitlab.adapter.LabelAdapter;
import com.commit451.gitlab.api.GitLabClient;
import com.commit451.gitlab.model.api.Label;
import com.commit451.gitlab.viewHolder.LabelViewHolder;
import java.util.List;
import butterknife.BindView;
import butterknife.ButterKnife;
import timber.log.Timber;
/**
* Add labels!
*/
public class AddLabelActivity extends BaseActivity {
private static final String KEY_PROJECT_ID = "project_id";
public static Intent newIntent(Context context, long projectId) {
Intent intent = new Intent(context, AddLabelActivity.class);
intent.putExtra(KEY_PROJECT_ID, projectId);
return intent;
}
@BindView(R.id.root)
ViewGroup mRoot;
@BindView(R.id.toolbar)
Toolbar mToolbar;
@BindView(R.id.swipe_layout)
SwipeRefreshLayout mSwipeRefreshLayout;
@BindView(R.id.list)
RecyclerView mList;
LabelAdapter mLabelAdapter;
@BindView(R.id.message_text)
TextView mTextMessage;
long mProjectId;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_add_label);
ButterKnife.bind(this);
mProjectId = getIntent().getLongExtra(KEY_PROJECT_ID, -1);
mToolbar.setTitle(R.string.labels);
mSwipeRefreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
@Override
public void onRefresh() {
load();
}
});
mLabelAdapter = new LabelAdapter(new LabelAdapter.Listener() {
@Override
public void onLabelClicked(Label label, LabelViewHolder viewHolder) {
}
@Override
public void onAddLabelClicked() {
}
});
mList.setAdapter(mLabelAdapter);
mList.setLayoutManager(new LinearLayoutManager(this));
mToolbar.setNavigationIcon(R.drawable.ic_back_24dp);
mToolbar.setNavigationOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
onBackPressed();
}
});
load();
}
private void load() {
mTextMessage.setVisibility(View.GONE);
mSwipeRefreshLayout.post(new Runnable() {
@Override
public void run() {
if (mSwipeRefreshLayout != null) {
mSwipeRefreshLayout.setRefreshing(true);
}
}
});
GitLabClient.instance().getLabels(mProjectId).enqueue(new EasyCallback<List<Label>>() {
@Override
public void success(@NonNull List<Label> response) {
mSwipeRefreshLayout.setRefreshing(false);
if (response.isEmpty()) {
mTextMessage.setVisibility(View.VISIBLE);
}
mLabelAdapter.setItems(response);
}
@Override
public void failure(Throwable t) {
mSwipeRefreshLayout.setRefreshing(false);
mTextMessage.setVisibility(View.VISIBLE);
Timber.e(t, null);
}
});
}
}
Loading
Loading
@@ -22,7 +22,7 @@ import com.commit451.easycallback.EasyCallback;
import com.commit451.gitlab.api.GitLabClient;
import com.commit451.gitlab.event.CloseDrawerEvent;
import com.commit451.gitlab.model.api.Group;
import com.commit451.gitlab.navigation.NavigationManager;
import com.commit451.gitlab.navigation.Navigator;
import com.commit451.gitlab.util.PaginationUtil;
import com.commit451.gitlab.viewHolder.GroupViewHolder;
import com.squareup.otto.Subscribe;
Loading
Loading
@@ -113,7 +113,7 @@ public class GroupsActivity extends BaseActivity {
private final GroupAdapter.Listener mGroupAdapterListener = new GroupAdapter.Listener() {
@Override
public void onGroupClicked(Group group, GroupViewHolder groupViewHolder) {
NavigationManager.navigateToGroup(GroupsActivity.this, groupViewHolder.mImageView, group);
Navigator.navigateToGroup(GroupsActivity.this, groupViewHolder.mImageView, group);
}
};
 
Loading
Loading
Loading
Loading
@@ -28,7 +28,7 @@ import com.commit451.gitlab.model.api.FileUploadResponse;
import com.commit451.gitlab.model.api.Issue;
import com.commit451.gitlab.model.api.Note;
import com.commit451.gitlab.model.api.Project;
import com.commit451.gitlab.navigation.NavigationManager;
import com.commit451.gitlab.navigation.Navigator;
import com.commit451.gitlab.util.IntentUtil;
import com.commit451.gitlab.util.PaginationUtil;
import com.commit451.gitlab.view.SendMessageView;
Loading
Loading
@@ -94,7 +94,7 @@ public class IssueActivity extends BaseActivity {
 
@OnClick(R.id.fab_edit_issue)
public void onEditIssueClick(View fab) {
NavigationManager.navigateToEditIssue(IssueActivity.this, fab, mProject, mIssue);
Navigator.navigateToEditIssue(IssueActivity.this, fab, mProject, mIssue);
}
 
private MenuItem mOpenCloseMenuItem;
Loading
Loading
@@ -305,7 +305,7 @@ public class IssueActivity extends BaseActivity {
 
@Override
public void onGalleryClicked() {
NavigationManager.navigateToChoosePhoto(IssueActivity.this, REQUEST_IMAGE);
Navigator.navigateToChoosePhoto(IssueActivity.this, REQUEST_IMAGE);
}
 
@Override
Loading
Loading
Loading
Loading
@@ -7,7 +7,7 @@ import com.commit451.gitlab.BuildConfig;
import com.commit451.gitlab.data.Prefs;
import com.commit451.gitlab.model.Account;
import com.commit451.gitlab.ssl.CustomKeyManager;
import com.commit451.gitlab.navigation.NavigationManager;
import com.commit451.gitlab.navigation.Navigator;
 
import java.util.List;
 
Loading
Loading
@@ -31,7 +31,7 @@ public class LaunchActivity extends Activity {
}
List<Account> accounts = Account.getAccounts(this);
if(accounts.isEmpty()) {
NavigationManager.navigateToLogin(this);
Navigator.navigateToLogin(this);
} else {
loadPrivateKey(accounts, 0);
return;
Loading
Loading
@@ -46,7 +46,7 @@ public class LaunchActivity extends Activity {
runOnUiThread(new Runnable() {
@Override
public void run() {
NavigationManager.navigateToStartingActivity(LaunchActivity.this);
Navigator.navigateToStartingActivity(LaunchActivity.this);
finish();
}
});
Loading
Loading
Loading
Loading
@@ -16,7 +16,7 @@ import com.commit451.gitlab.model.api.MergeRequest;
import com.commit451.gitlab.model.api.Milestone;
import com.commit451.gitlab.model.api.Project;
import com.commit451.gitlab.model.api.RepositoryCommit;
import com.commit451.gitlab.navigation.NavigationManager;
import com.commit451.gitlab.navigation.Navigator;
 
import java.util.List;
 
Loading
Loading
@@ -126,7 +126,7 @@ public class LoadSomeInfoActivity extends AppCompatActivity {
private final EasyCallback<RepositoryCommit> mCommitCallback = new EasyCallback<RepositoryCommit>() {
@Override
public void success(@NonNull RepositoryCommit response) {
NavigationManager.navigateToDiffActivity(LoadSomeInfoActivity.this, mProject, response);
Navigator.navigateToDiffActivity(LoadSomeInfoActivity.this, mProject, response);
finish();
}
 
Loading
Loading
@@ -141,7 +141,7 @@ public class LoadSomeInfoActivity extends AppCompatActivity {
@Override
public void success(@NonNull List<MergeRequest> response) {
if (!response.isEmpty()) {
NavigationManager.navigateToMergeRequest(LoadSomeInfoActivity.this, mProject, response.get(0));
Navigator.navigateToMergeRequest(LoadSomeInfoActivity.this, mProject, response.get(0));
finish();
} else {
onError();
Loading
Loading
@@ -158,7 +158,7 @@ public class LoadSomeInfoActivity extends AppCompatActivity {
private final EasyCallback<Build> mBuildCallback = new EasyCallback<Build>() {
@Override
public void success(@NonNull Build response) {
NavigationManager.navigateToBuild(LoadSomeInfoActivity.this, mProject, response);
Navigator.navigateToBuild(LoadSomeInfoActivity.this, mProject, response);
finish();
}
 
Loading
Loading
@@ -173,7 +173,7 @@ public class LoadSomeInfoActivity extends AppCompatActivity {
@Override
public void success(@NonNull List<Milestone> response) {
if (!response.isEmpty()) {
NavigationManager.navigateToMilestone(LoadSomeInfoActivity.this, mProject, response.get(0));
Navigator.navigateToMilestone(LoadSomeInfoActivity.this, mProject, response.get(0));
finish();
} else {
onError();
Loading
Loading
Loading
Loading
@@ -40,7 +40,7 @@ import com.commit451.gitlab.ssl.CustomHostnameVerifier;
import com.commit451.gitlab.ssl.CustomKeyManager;
import com.commit451.gitlab.ssl.X509CertificateException;
import com.commit451.gitlab.ssl.X509Util;
import com.commit451.gitlab.navigation.NavigationManager;
import com.commit451.gitlab.navigation.Navigator;
import com.commit451.teleprinter.Teleprinter;
 
import java.net.ConnectException;
Loading
Loading
@@ -294,7 +294,7 @@ public class LoginActivity extends BaseActivity {
App.bus().post(new LoginEvent(mAccount));
//This is mostly for if projects already exists, then we will reload the data
App.bus().post(new ReloadDataEvent());
NavigationManager.navigateToStartingActivity(LoginActivity.this);
Navigator.navigateToStartingActivity(LoginActivity.this);
finish();
}
 
Loading
Loading
Loading
Loading
@@ -25,7 +25,7 @@ import com.commit451.gitlab.event.MilestoneChangedEvent;
import com.commit451.gitlab.model.api.Issue;
import com.commit451.gitlab.model.api.Milestone;
import com.commit451.gitlab.model.api.Project;
import com.commit451.gitlab.navigation.NavigationManager;
import com.commit451.gitlab.navigation.Navigator;
import com.commit451.gitlab.util.PaginationUtil;
import com.squareup.otto.Subscribe;
 
Loading
Loading
@@ -77,12 +77,12 @@ public class MilestoneActivity extends BaseActivity {
 
@OnClick(R.id.add)
void onAddClick() {
NavigationManager.navigateToAddIssue(MilestoneActivity.this, null, mProject);
Navigator.navigateToAddIssue(MilestoneActivity.this, null, mProject);
}
 
@OnClick(R.id.edit)
void onEditClicked(View fab) {
NavigationManager.navigateToEditMilestone(MilestoneActivity.this, fab, mProject, mMilestone);
Navigator.navigateToEditMilestone(MilestoneActivity.this, fab, mProject, mMilestone);
}
 
private final Callback<List<Issue>> mIssuesCallback = new EasyCallback<List<Issue>>() {
Loading
Loading
@@ -195,7 +195,7 @@ public class MilestoneActivity extends BaseActivity {
mMilestoneIssuesAdapter = new MilestoneIssuesAdapter(new MilestoneIssuesAdapter.Listener() {
@Override
public void onIssueClicked(Issue issue) {
NavigationManager.navigateToIssue(MilestoneActivity.this, mProject, issue);
Navigator.navigateToIssue(MilestoneActivity.this, mProject, issue);
}
});
bind(mMilestone);
Loading
Loading
Loading
Loading
@@ -16,7 +16,7 @@ import com.commit451.gitlab.App;
import com.commit451.gitlab.R;
import com.commit451.gitlab.adapter.ProjectsPagerAdapter;
import com.commit451.gitlab.event.CloseDrawerEvent;
import com.commit451.gitlab.navigation.NavigationManager;
import com.commit451.gitlab.navigation.Navigator;
import com.squareup.otto.Subscribe;
 
import butterknife.BindView;
Loading
Loading
@@ -45,7 +45,7 @@ public class ProjectsActivity extends BaseActivity {
public boolean onMenuItemClick(MenuItem item) {
switch (item.getItemId()) {
case R.id.action_search:
NavigationManager.navigateToSearch(ProjectsActivity.this);
Navigator.navigateToSearch(ProjectsActivity.this);
return true;
}
return false;
Loading
Loading
Loading
Loading
@@ -10,7 +10,7 @@ import com.commit451.gitlab.R;
import com.commit451.gitlab.api.GitLabClient;
import com.commit451.gitlab.model.Account;
import com.commit451.gitlab.navigation.DeepLinker;
import com.commit451.gitlab.navigation.NavigationManager;
import com.commit451.gitlab.navigation.Navigator;
import com.commit451.gitlab.navigation.RoutingNavigator;
import com.commit451.gitlab.navigation.RoutingRouter;
import com.commit451.gitlab.util.IntentUtil;
Loading
Loading
@@ -28,7 +28,7 @@ public class RoutingActivity extends Activity {
private final RoutingNavigator mNavigator = new RoutingNavigator() {
@Override
public void onRouteToIssue(String projectNamespace, String projectName, String issueIid) {
NavigationManager.navigateToIssue(RoutingActivity.this, projectNamespace, projectName, issueIid);
Navigator.navigateToIssue(RoutingActivity.this, projectNamespace, projectName, issueIid);
}
 
@Override
Loading
Loading
@@ -45,7 +45,7 @@ public class RoutingActivity extends Activity {
 
@Override
public void onRouteToProject(String namespace, String projectId) {
NavigationManager.navigateToProject(RoutingActivity.this, projectId);
Navigator.navigateToProject(RoutingActivity.this, projectId);
}
 
@Override
Loading
Loading
@@ -115,7 +115,7 @@ public class RoutingActivity extends Activity {
//okay so last thing, if the user has followed a link, but the user
//is not actually signed in, we want to direct them to signin
if (GitLabClient.getAccount() == null && Account.getAccounts(this).isEmpty()) {
NavigationManager.navigateToLogin(this);
Navigator.navigateToLogin(this);
finish();
return;
}
Loading
Loading
Loading
Loading
@@ -5,7 +5,7 @@ import android.view.View;
import android.view.ViewGroup;
 
import com.commit451.gitlab.R;
import com.commit451.gitlab.viewHolder.LabelViewHolder;
import com.commit451.gitlab.viewHolder.IssueLabelViewHolder;
 
import java.util.ArrayList;
import java.util.Collection;
Loading
Loading
@@ -13,10 +13,10 @@ import java.util.Collection;
/**
* So many labels
*/
public class IssueLabelsAdapter extends RecyclerView.Adapter<LabelViewHolder> {
public class IssueLabelsAdapter extends RecyclerView.Adapter<IssueLabelViewHolder> {
 
public interface Listener {
void onLabelClicked(String label, LabelViewHolder viewHolder);
void onLabelClicked(String label, IssueLabelViewHolder viewHolder);
}
private Listener mListener;
 
Loading
Loading
@@ -31,7 +31,7 @@ public class IssueLabelsAdapter extends RecyclerView.Adapter<LabelViewHolder> {
@Override
public void onClick(View v) {
int position = (int) v.getTag(R.id.list_position);
LabelViewHolder holder = (LabelViewHolder) v.getTag(R.id.list_view_holder);
IssueLabelViewHolder holder = (IssueLabelViewHolder) v.getTag(R.id.list_view_holder);
mListener.onLabelClicked(getEntry(position), holder);
}
};
Loading
Loading
@@ -49,14 +49,14 @@ public class IssueLabelsAdapter extends RecyclerView.Adapter<LabelViewHolder> {
}
 
@Override
public LabelViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
LabelViewHolder holder = LabelViewHolder.inflate(parent);
public IssueLabelViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
IssueLabelViewHolder holder = IssueLabelViewHolder.inflate(parent);
holder.itemView.setOnClickListener(mOnItemClickListener);
return holder;
}
 
@Override
public void onBindViewHolder(final LabelViewHolder holder, int position) {
public void onBindViewHolder(final IssueLabelViewHolder holder, int position) {
holder.itemView.setTag(R.id.list_position, position);
holder.itemView.setTag(R.id.list_view_holder, holder);
holder.bind(getEntry(position));
Loading
Loading
package com.commit451.gitlab.adapter;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.view.ViewGroup;
import com.commit451.gitlab.R;
import com.commit451.gitlab.model.api.Label;
import com.commit451.gitlab.viewHolder.LabelViewHolder;
import com.commit451.gitlab.viewHolder.ProjectMemberFooterViewHolder;
import java.util.ArrayList;
import java.util.Collection;
/**
* Shows a projects members and a groups members
*/
public class LabelAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
private static final int TYPE_ITEM = 0;
private static final int TYPE_FOOTER = 1;
private static final int FOOTER_COUNT = 1;
private Listener mListener;
private ArrayList<Label> mItems;
private final View.OnClickListener mProjectMemberClickListener = new View.OnClickListener() {
@Override
public void onClick(View v) {
int position = (int) v.getTag(R.id.list_position);
LabelViewHolder viewHolder = (LabelViewHolder) v.getTag(R.id.list_view_holder);
mListener.onLabelClicked(getItem(position), viewHolder);
}
};
private final View.OnClickListener mFooterClickListener = new View.OnClickListener() {
@Override
public void onClick(View v) {
mListener.onAddLabelClicked();
}
};
public LabelAdapter(Listener listener) {
mListener = listener;
mItems = new ArrayList<>();
}
public Label getItem(int position) {
return mItems.get(position);
}
public void setItems(Collection<Label> data) {
mItems.clear();
if (data != null) {
mItems.addAll(data);
}
notifyDataSetChanged();
}
public void addLabel(Label label) {
mItems.add(label);
notifyItemInserted(mItems.size());
}
@Override
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
switch (viewType) {
case TYPE_ITEM:
LabelViewHolder itemViewHolder = LabelViewHolder.inflate(parent);
itemViewHolder.itemView.setOnClickListener(mProjectMemberClickListener);
return itemViewHolder;
case TYPE_FOOTER:
ProjectMemberFooterViewHolder footerHolder = ProjectMemberFooterViewHolder.inflate(parent);
footerHolder.itemView.setOnClickListener(mFooterClickListener);
return footerHolder;
}
throw new IllegalStateException("No idea what to inflate with view type of " + viewType);
}
@Override
public void onBindViewHolder(final RecyclerView.ViewHolder holder, int position) {
if (holder instanceof ProjectMemberFooterViewHolder) {
//
} else if (holder instanceof LabelViewHolder) {
final Label label = getItem(position);
((LabelViewHolder) holder).bind(label);
holder.itemView.setTag(R.id.list_position, position);
holder.itemView.setTag(R.id.list_view_holder, holder);
}
}
@Override
public int getItemCount() {
return mItems.size() + FOOTER_COUNT;
}
@Override
public int getItemViewType(int position) {
if (position == mItems.size()) {
return TYPE_FOOTER;
} else {
return TYPE_ITEM;
}
}
public interface Listener {
void onLabelClicked(Label label, LabelViewHolder viewHolder);
void onAddLabelClicked();
}
}
Loading
Loading
@@ -26,7 +26,7 @@ import com.commit451.gitlab.event.BuildChangedEvent;
import com.commit451.gitlab.event.ProjectReloadEvent;
import com.commit451.gitlab.model.api.Build;
import com.commit451.gitlab.model.api.Project;
import com.commit451.gitlab.navigation.NavigationManager;
import com.commit451.gitlab.navigation.Navigator;
import com.commit451.gitlab.util.PaginationUtil;
import com.squareup.otto.Subscribe;
 
Loading
Loading
@@ -82,7 +82,7 @@ public class BuildsFragment extends ButterKnifeFragment {
@Override
public void onBuildClicked(Build build) {
if (mProject != null) {
NavigationManager.navigateToBuild(getActivity(), mProject, build);
Navigator.navigateToBuild(getActivity(), mProject, build);
} else {
Snackbar.make(mRoot, getString(R.string.wait_for_project_to_load), Snackbar.LENGTH_SHORT)
.show();
Loading
Loading
Loading
Loading
@@ -21,7 +21,7 @@ import com.commit451.gitlab.api.GitLabClient;
import com.commit451.gitlab.event.ProjectReloadEvent;
import com.commit451.gitlab.model.api.Project;
import com.commit451.gitlab.model.api.RepositoryCommit;
import com.commit451.gitlab.navigation.NavigationManager;
import com.commit451.gitlab.navigation.Navigator;
import com.squareup.otto.Subscribe;
 
import java.util.List;
Loading
Loading
@@ -124,7 +124,7 @@ public class CommitsFragment extends ButterKnifeFragment {
private final CommitsAdapter.Listener mCommitsAdapterListener = new CommitsAdapter.Listener() {
@Override
public void onCommitClicked(RepositoryCommit commit) {
NavigationManager.navigateToDiffActivity(getActivity(), mProject, commit);
Navigator.navigateToDiffActivity(getActivity(), mProject, commit);
}
};
 
Loading
Loading
Loading
Loading
@@ -19,7 +19,7 @@ import com.commit451.easycallback.EasyCallback;
import com.commit451.gitlab.api.GitLabClient;
import com.commit451.gitlab.model.rss.Entry;
import com.commit451.gitlab.model.rss.Feed;
import com.commit451.gitlab.navigation.NavigationManager;
import com.commit451.gitlab.navigation.Navigator;
import com.novoda.simplechromecustomtabs.SimpleChromeCustomTabs;
 
import butterknife.BindView;
Loading
Loading
@@ -85,7 +85,7 @@ public class FeedFragment extends ButterKnifeFragment {
private final FeedAdapter.Listener mFeedAdapterListener = new FeedAdapter.Listener() {
@Override
public void onFeedEntryClicked(Entry entry) {
NavigationManager.navigateToUrl(getActivity(), entry.getLink().getHref(), GitLabClient.getAccount());
Navigator.navigateToUrl(getActivity(), entry.getLink().getHref(), GitLabClient.getAccount());
}
};
 
Loading
Loading
Loading
Loading
@@ -26,7 +26,7 @@ import com.commit451.gitlab.api.GitLabClient;
import com.commit451.gitlab.event.ProjectReloadEvent;
import com.commit451.gitlab.model.api.Project;
import com.commit451.gitlab.model.api.RepositoryTreeObject;
import com.commit451.gitlab.navigation.NavigationManager;
import com.commit451.gitlab.navigation.Navigator;
import com.commit451.gitlab.util.IntentUtil;
import com.squareup.otto.Subscribe;
 
Loading
Loading
@@ -106,7 +106,7 @@ public class FilesFragment extends ButterKnifeFragment {
@Override
public void onFileClicked(RepositoryTreeObject treeItem) {
String path = mCurrentPath + treeItem.getName();
NavigationManager.navigateToFile(getActivity(), mProject.getId(), path, mBranchName);
Navigator.navigateToFile(getActivity(), mProject.getId(), path, mBranchName);
}
 
@Override
Loading
Loading
Loading
Loading
@@ -20,7 +20,7 @@ import com.commit451.gitlab.dialog.AccessDialog;
import com.commit451.gitlab.event.MemberAddedEvent;
import com.commit451.gitlab.model.api.Group;
import com.commit451.gitlab.model.api.Member;
import com.commit451.gitlab.navigation.NavigationManager;
import com.commit451.gitlab.navigation.Navigator;
import com.commit451.gitlab.viewHolder.ProjectMemberViewHolder;
import com.squareup.otto.Subscribe;
 
Loading
Loading
@@ -115,7 +115,7 @@ public class GroupMembersFragment extends ButterKnifeFragment {
private final GroupMembersAdapter.Listener mListener = new GroupMembersAdapter.Listener() {
@Override
public void onUserClicked(Member member, ProjectMemberViewHolder holder) {
NavigationManager.navigateToUser(getActivity(), holder.mImageView, member);
Navigator.navigateToUser(getActivity(), holder.mImageView, member);
}
 
@Override
Loading
Loading
@@ -172,7 +172,7 @@ public class GroupMembersFragment extends ButterKnifeFragment {
 
@OnClick(R.id.add_user_button)
public void onAddUserClick(View fab) {
NavigationManager.navigateToAddGroupMember(getActivity(), fab, mGroup);
Navigator.navigateToAddGroupMember(getActivity(), fab, mGroup);
}
 
public void loadData() {
Loading
Loading
Loading
Loading
@@ -28,7 +28,7 @@ import com.commit451.gitlab.event.IssueReloadEvent;
import com.commit451.gitlab.event.ProjectReloadEvent;
import com.commit451.gitlab.model.api.Issue;
import com.commit451.gitlab.model.api.Project;
import com.commit451.gitlab.navigation.NavigationManager;
import com.commit451.gitlab.navigation.Navigator;
import com.commit451.gitlab.util.PaginationUtil;
import com.squareup.otto.Subscribe;
 
Loading
Loading
@@ -82,7 +82,7 @@ public class IssuesFragment extends ButterKnifeFragment {
@Override
public void onIssueClicked(Issue issue) {
if (mProject != null) {
NavigationManager.navigateToIssue(getActivity(), mProject, issue);
Navigator.navigateToIssue(getActivity(), mProject, issue);
} else {
Snackbar.make(mRoot, getString(R.string.wait_for_project_to_load), Snackbar.LENGTH_SHORT)
.show();
Loading
Loading
@@ -204,7 +204,7 @@ public class IssuesFragment extends ButterKnifeFragment {
@OnClick(R.id.add_issue_button)
public void onAddIssueClick(View fab) {
if (mProject != null) {
NavigationManager.navigateToAddIssue(getActivity(), fab, mProject);
Navigator.navigateToAddIssue(getActivity(), fab, mProject);
} else {
Snackbar.make(mRoot, getString(R.string.wait_for_project_to_load), Snackbar.LENGTH_SHORT)
.show();
Loading
Loading
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