Skip to content
Snippets Groups Projects
Commit 88ed3834 authored by John Carlson's avatar John Carlson
Browse files

Parse out and call with the proper namespace+project name

parent 5524c943
No related branches found
No related tags found
No related merge requests found
<?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=".LabCoatApp"
Loading
Loading
@@ -13,28 +13,31 @@
android:fullBackupContent="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
android:theme="@style/AppTheme">
 
<activity
android:name=".activity.GitlabActivity"
android:theme="@android:style/Theme.NoDisplay"
android:noHistory="true" >
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"
<activity
android:name=".activity.ProjectsActivity"
android:launchMode="singleTask"/>
<activity
android:name=".activity.GroupsActivity"
android:launchMode="singleTask"/>
<activity android:name=".activity.GroupsActivity"
<activity
android:name=".activity.ActivityActivity"
android:launchMode="singleTask"/>
<activity android:name=".activity.ActivityActivity"
android:launchMode="singleTask"/>
<activity android:name=".activity.ProjectActivity" />
<activity android:name=".activity.LoginActivity" />
<activity android:name=".activity.ProjectActivity"/>
<activity android:name=".activity.LoginActivity"/>
<activity android:name=".activity.FileActivity"/>
<activity android:name=".activity.IssueActivity" />
<activity android:name=".activity.IssueActivity"/>
<activity android:name=".activity.DiffActivity"/>
<activity android:name=".activity.AboutActivity"/>
<activity android:name=".activity.AddUserActivity"/>
Loading
Loading
@@ -48,22 +51,26 @@
<activity android:name=".activity.SettingsActivity"/>
<activity android:name=".activity.BuildActivity"/>
 
<activity android:name=".activity.RoutingActivity"
android:launchMode="singleTask">
<activity
android:name=".activity.RoutingActivity"
android:launchMode="singleTask"
android:noHistory="true"
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" />
android:scheme="@string/deeplink_scheme"/>
</intent-filter>
</activity>
<meta-data
android:name="io.fabric.ApiKey"
android:value="${fabric_key}" />
android:value="${fabric_key}"/>
</application>
 
</manifest>
\ No newline at end of file
Loading
Loading
@@ -50,7 +50,8 @@ public class IssueActivity extends BaseActivity {
 
private static final String EXTRA_PROJECT = "extra_project";
private static final String EXTRA_SELECTED_ISSUE = "extra_selected_issue";
private static final String EXTRA_PROJECT_ID = "extra_project_id";
private static final String EXTRA_PROJECT_NAMESPACE = "project_namespace";
private static final String EXTRA_PROJECT_NAME = "project_name";
private static final String EXTRA_ISSUE_ID = "extra_issue_id";
 
public static Intent newInstance(Context context, Project project, Issue issue) {
Loading
Loading
@@ -60,9 +61,10 @@ public class IssueActivity extends BaseActivity {
return intent;
}
 
public static Intent newInstance(Context context, String projectId, String issueId) {
public static Intent newInstance(Context context, String namespace, String projectName, String issueId) {
Intent intent = new Intent(context, IssueActivity.class);
intent.putExtra(EXTRA_PROJECT_ID, projectId);
intent.putExtra(EXTRA_PROJECT_NAMESPACE, namespace);
intent.putExtra(EXTRA_PROJECT_NAME, projectName);
intent.putExtra(EXTRA_ISSUE_ID, issueId);
return intent;
}
Loading
Loading
@@ -292,8 +294,9 @@ public class IssueActivity extends BaseActivity {
loadNotes();
} else if (getIntent().hasExtra(EXTRA_ISSUE_ID)) {
mIssueId = getIntent().getStringExtra(EXTRA_ISSUE_ID);
String projectId = getIntent().getStringExtra(EXTRA_PROJECT_ID);
GitLabClient.instance().getProject(projectId).enqueue(mProjectCallback);
String projectNamespace = getIntent().getStringExtra(EXTRA_PROJECT_NAMESPACE);
String projectName = getIntent().getStringExtra(EXTRA_PROJECT_NAME);
GitLabClient.instance().getProject(projectNamespace, projectName).enqueue(mProjectCallback);
}
}
 
Loading
Loading
Loading
Loading
@@ -18,7 +18,7 @@ import timber.log.Timber;
* This activity acts as switching platform for the application directing the user to the appropriate
* activity based on their logged in state
*/
public class GitlabActivity extends Activity {
public class LaunchActivity extends Activity {
 
@Override
protected void onCreate(Bundle savedInstanceState) {
Loading
Loading
@@ -48,7 +48,7 @@ public class GitlabActivity extends Activity {
runOnUiThread(new Runnable() {
@Override
public void run() {
NavigationManager.navigateToProjects(GitlabActivity.this);
NavigationManager.navigateToProjects(LaunchActivity.this);
finish();
}
});
Loading
Loading
Loading
Loading
@@ -53,14 +53,15 @@ public class RoutingActivity extends Activity {
} else if (link.getPathSegments().size() == 4) {
//this is good, it means it is a link to an actual issue
handled = true;
String projectId = link.getPathSegments().get(1);
String projectNamespace = link.getPathSegments().get(0);
String projectName = link.getPathSegments().get(1);
String lastSegment = link.getPathSegments().get(3);
//We have to do this cause there can be args on the url, such as
//https://gitlab.com/Commit451/LabCoat/issues/158#note_4560580
String[] stuff = lastSegment.split("#");
String issueId = stuff[0];
Timber.d("Navigating to project %s with issue number %s", projectId, issueId);
NavigationManager.navigateToIssue(this, projectId, issueId);
Timber.d("Navigating to project %s with issue number %s", projectName, issueId);
NavigationManager.navigateToIssue(this, projectNamespace, projectName, issueId);
}
}
 
Loading
Loading
@@ -71,6 +72,7 @@ public class RoutingActivity extends Activity {
showError();
}
}
finish();
}
 
private void launchProject(Uri uri) {
Loading
Loading
Loading
Loading
@@ -127,6 +127,11 @@ public interface GitLab {
@GET(API_VERSION + "/projects/{id}")
Call<Project> getProject(@Path("id") String projectId);
 
// see https://github.com/gitlabhq/gitlabhq/blob/master/doc/api/projects.md#get-single-project
@GET(API_VERSION + "/projects/{namespace}%2F{project_name}")
Call<Project> getProject(@Path("namespace") String namespace,
@Path("project_name") String projectName);
@GET
Call<List<Project>> getProjects(@Url String url);
 
Loading
Loading
Loading
Loading
@@ -123,8 +123,8 @@ public class NavigationManager {
activity.startActivity(IssueActivity.newInstance(activity, project, issue));
}
 
public static void navigateToIssue(Activity activity, String projectId, String issueId) {
activity.startActivity(IssueActivity.newInstance(activity, projectId, issueId));
public static void navigateToIssue(Activity activity, String namespace, String projectName, String issueId) {
activity.startActivity(IssueActivity.newInstance(activity, namespace, projectName, issueId));
}
 
public static void navigateToMergeRequest(Activity activity, Project project, MergeRequest mergeRequest) {
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