aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorMarvin Borner2018-09-04 00:23:40 +0200
committerMarvin Borner2018-09-04 00:23:40 +0200
commit1a7846e05e36950274e29837e0e4d125935e90cd (patch)
treed009d398846d72b6a85bebc151d53fdf313545d5
parent5189137f51e08a2d83f5ecf9ae9739c7366ff8a1 (diff)
Fixed bug reporting activity - closes #1 :tada: :bug:
-rw-r--r--app/build.gradle1
-rw-r--r--app/src/main/java/me/texx/Texx/BugReportActivity.kt44
2 files changed, 15 insertions, 30 deletions
diff --git a/app/build.gradle b/app/build.gradle
index 2eee9d7..12968d5 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -39,6 +39,7 @@ dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation "org.jetbrains.anko:anko-commons:0.10.5" // Anko
implementation "org.jetbrains.anko:anko-design:0.10.5" // Anko
+ implementation group: 'org.eclipse.mylyn.github', name: 'org.eclipse.egit.github.core', version: '2.1.5' // Github
/*
General Android
diff --git a/app/src/main/java/me/texx/Texx/BugReportActivity.kt b/app/src/main/java/me/texx/Texx/BugReportActivity.kt
index d1c443e..d6a11ba 100644
--- a/app/src/main/java/me/texx/Texx/BugReportActivity.kt
+++ b/app/src/main/java/me/texx/Texx/BugReportActivity.kt
@@ -4,17 +4,19 @@ import android.os.Bundle
import android.os.StrictMode
import android.support.v7.app.AppCompatActivity
import com.github.kittinunf.fuel.android.extension.responseJson
-import com.github.kittinunf.fuel.core.FuelManager
import com.github.kittinunf.fuel.httpGet
-import com.github.kittinunf.fuel.httpPost
import com.madapps.prefrences.EasyPrefrences
import daio.io.dresscode.dressCodeName
import daio.io.dresscode.matchDressCode
import kotlinx.android.synthetic.main.activity_bug_report.*
-import me.texx.Texx.Util.SecureStorage
import me.texx.Texx.util.ThemeUtil
+import org.eclipse.egit.github.core.Issue
+import org.eclipse.egit.github.core.client.GitHubClient
+import org.eclipse.egit.github.core.service.IssueService
import org.jetbrains.anko.longToast
import org.json.JSONObject
+import java.io.IOException
+
/**
* Activity to report bugs/issues directly on Github
@@ -38,37 +40,19 @@ class BugReportActivity : AppCompatActivity() {
}
private fun submitToGithub(debugInformation: String) {
- val accessToken = "f4f048af0e3f2d36e78b98452d3398fb8c051088" // TODO: Secure GitHub token
-
- val issueJson = JSONObject()
val issueTitle = edit_title.text.toString()
- val issueDescription = edit_description.text.toString()
val username = getVerifiedUsername()
- issueJson.put("title", issueTitle)
- issueJson.put("body", "$issueDescription\n$debugInformation\n\nBy ${username.toString()}")
+ val issueDescription = "${edit_description.text}\n\n$debugInformation\n\nBy ${username.toString()}"
+ val issue = Issue().setTitle(issueTitle).setBody(issueDescription)
- // clear configuration for github api // TODO: Cleaner solution for fuel configuration
- FuelManager.instance.baseHeaders = null
- FuelManager.instance.basePath = null // TODO: Set IP as public variable
-
- username?.let {
- val policy = StrictMode.ThreadPolicy.Builder()
- .permitAll().build()
- StrictMode.setThreadPolicy(policy)
- val (_, response, res) = "https://api.github.com/repos/texxme/Texx-Android/issues/".httpPost() // verify by making request to user api // TODO: More secure way of verifying
- .header("Authorization" to "token: $accessToken")
- .body(issueJson.toString())
- .responseString()
- longToast(if (response.httpStatusCode == 201) "Issue submitted" else "Something went wrong :(")
- } ?: run {
- longToast("Error verifying your account.")
+ val accessToken = "7ac99190d8e9319eaa6ccc61a23d44419c59bb0c" // TODO: Secure GitHub token
+ val service = IssueService(GitHubClient().setOAuth2Token(accessToken))
+ try { // TODO: add loading animation in bug reporter
+ service.createIssue("texxme", "Texx-Android", issue)
+ longToast("Issue submitted")
+ } catch (e: IOException) {
+ longToast("Something went wrong :(")
}
-
- // set configuration again
- val texxAccessToken: String? = SecureStorage(this@BugReportActivity).get("access_token")
- if (texxAccessToken != null)
- FuelManager.instance.baseHeaders = mapOf("Authorization" to "Bearer $accessToken")
- FuelManager.instance.basePath = "http://192.168.137.1" // TODO: Set IP as public variable
}
private fun getVerifiedUsername(): Any? {