From 22dd2cb1a294ecc414bd1be1051c1ca046facadb Mon Sep 17 00:00:00 2001 From: jacquetwong Date: Tue, 1 Jan 2019 02:30:50 +0800 Subject: [PATCH] Upgrade sdk version --- examples/onesky-helloworld/build.gradle | 2 +- onesky-conductor/build.gradle | 2 +- .../main/java/app/onesky/android/ApiConsumer.java | 14 +++++++++----- .../java/app/onesky/android/LocalizationTask.java | 14 ++++++++++++++ 4 files changed, 25 insertions(+), 7 deletions(-) diff --git a/examples/onesky-helloworld/build.gradle b/examples/onesky-helloworld/build.gradle index 517c79c..498d24a 100644 --- a/examples/onesky-helloworld/build.gradle +++ b/examples/onesky-helloworld/build.gradle @@ -9,7 +9,7 @@ buildscript { } dependencies { classpath 'com.android.tools.build:gradle:3.1.0' - classpath 'app.onesky.android:onesky-conductor:0.0.1' + classpath 'app.onesky.android:onesky-conductor:0.0.2' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files diff --git a/onesky-conductor/build.gradle b/onesky-conductor/build.gradle index 784370a..9375094 100644 --- a/onesky-conductor/build.gradle +++ b/onesky-conductor/build.gradle @@ -1,5 +1,5 @@ group 'app.onesky.android' -version '0.0.1' +version '0.0.2' apply plugin: 'java' apply plugin: 'java-gradle-plugin' diff --git a/onesky-conductor/src/main/java/app/onesky/android/ApiConsumer.java b/onesky-conductor/src/main/java/app/onesky/android/ApiConsumer.java index 37cae04..07f82c3 100644 --- a/onesky-conductor/src/main/java/app/onesky/android/ApiConsumer.java +++ b/onesky-conductor/src/main/java/app/onesky/android/ApiConsumer.java @@ -1,5 +1,6 @@ package app.onesky.android; +import org.apache.http.HttpHeaders; import org.apache.http.HttpResponse; import org.apache.http.client.HttpClient; import org.apache.http.client.methods.HttpGet; @@ -32,7 +33,7 @@ public ApiConsumer(String appId, String apiKey) { public String getAppConfigContent() throws Exception { - return getContent(INVOKE_URL + "apps/" + this.appId + "?platformId=android"); + return getContent(INVOKE_URL + "apps/" + this.appId); } public String getStringFileContent(String languageId) throws Exception { @@ -49,7 +50,7 @@ public boolean isTrusted(X509Certificate[] arg0, String arg1) throws Certificate return true; } }).build(); - b.setSslcontext( sslContext); + b.setSslcontext(sslContext); HostnameVerifier hostnameVerifier = SSLConnectionSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER; @@ -59,12 +60,15 @@ public boolean isTrusted(X509Certificate[] arg0, String arg1) throws Certificate .register("https", sslSocketFactory) .build(); - PoolingHttpClientConnectionManager connMgr = new PoolingHttpClientConnectionManager( socketFactoryRegistry); - b.setConnectionManager( connMgr); + PoolingHttpClientConnectionManager connMgr = new PoolingHttpClientConnectionManager(socketFactoryRegistry); + b.setConnectionManager(connMgr); HttpClient httpClient = b.build(); - HttpResponse response = httpClient.execute(new HttpGet(uri)); + HttpGet request = new HttpGet(uri); + request.setHeader(HttpHeaders.AUTHORIZATION, "Bearer " + this.apiKey); + request.setHeader("Platform", "android"); + HttpResponse response = httpClient.execute(request); return EntityUtils.toString(response.getEntity()); } diff --git a/onesky-conductor/src/main/java/app/onesky/android/LocalizationTask.java b/onesky-conductor/src/main/java/app/onesky/android/LocalizationTask.java index f0a5137..d2bc0bf 100644 --- a/onesky-conductor/src/main/java/app/onesky/android/LocalizationTask.java +++ b/onesky-conductor/src/main/java/app/onesky/android/LocalizationTask.java @@ -29,10 +29,12 @@ public void taskAction() throws Exception { ApiConsumer apiConsumer = new ApiConsumer(OneSkyPlugin.oneSkyPluginExtension.appId, OneSkyPlugin.oneSkyPluginExtension.apiKey); String appConfigContent = apiConsumer.getAppConfigContent(); + checkResponse(appConfigContent); writeStringFiles(appConfigContent); } private void writeStringFiles(String appConfigContent) throws Exception { + JsonParser jsonParser = new JsonParser(); JsonElement rootConfigElement = jsonParser.parse(appConfigContent); JsonArray selectors = rootConfigElement.getAsJsonObject().getAsJsonObject("app").getAsJsonArray("selectors"); @@ -77,4 +79,16 @@ private void writeStringFile(String stringFileContent, String filePath) throws E fileOutputStream.write(stringFileContent.getBytes()); fileOutputStream.close(); } + + private void checkResponse(String appConfigContent) throws Exception { + + JsonParser jsonParser = new JsonParser(); + JsonElement rootConfigElement = jsonParser.parse(appConfigContent); + JsonArray errors = rootConfigElement.getAsJsonObject().getAsJsonArray("errors"); + if (errors != null) { + for (JsonElement error : errors) { + throw new Exception(error.getAsJsonObject().get("message").getAsString()); + } + } + } }