diff options
author | Marvin Borner | 2018-09-04 00:23:40 +0200 |
---|---|---|
committer | Marvin Borner | 2018-09-04 00:23:40 +0200 |
commit | 1a7846e05e36950274e29837e0e4d125935e90cd (patch) | |
tree | d009d398846d72b6a85bebc151d53fdf313545d5 | |
parent | 5189137f51e08a2d83f5ecf9ae9739c7366ff8a1 (diff) |
Fixed bug reporting activity - closes #1 :tada: :bug:
-rw-r--r-- | app/build.gradle | 1 | ||||
-rw-r--r-- | app/src/main/java/me/texx/Texx/BugReportActivity.kt | 44 |
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? { |