-
Notifications
You must be signed in to change notification settings - Fork 134
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
7 changed files
with
142 additions
and
64 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
107 changes: 53 additions & 54 deletions
107
starboard/android/apk/app/src/main/java/dev/cobalt/coat/WebAppInterface.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,74 +1,73 @@ | ||
package dev.cobalt.coat; | ||
|
||
import static dev.cobalt.util.Log.TAG; | ||
import dev.cobalt.util.Log; | ||
|
||
import java.io.IOException; | ||
import java.io.BufferedReader; | ||
import java.io.InputStreamReader; | ||
import android.content.Context; | ||
import android.util.Base64; | ||
import android.webkit.JavascriptInterface; | ||
import dev.cobalt.util.Log; | ||
import java.io.BufferedReader; | ||
import java.io.IOException; | ||
import java.io.InputStreamReader; | ||
|
||
/** | ||
* Native call bridge | ||
*/ | ||
/** Native call bridge */ | ||
public class WebAppInterface { | ||
Context mContext; | ||
StarboardBridge bridge; | ||
Context mContext; | ||
StarboardBridge bridge; | ||
|
||
// Instantiate the interface and set the context | ||
WebAppInterface(Context c, StarboardBridge b) { | ||
mContext = c; | ||
bridge = b; | ||
} | ||
// Instantiate the interface and set the context | ||
WebAppInterface(Context c, StarboardBridge b) { | ||
mContext = c; | ||
bridge = b; | ||
} | ||
|
||
@JavascriptInterface | ||
public boolean has_platform_service(String servicename) { | ||
return bridge.hasCobaltService(servicename); | ||
} | ||
@JavascriptInterface | ||
public boolean has_platform_service(String servicename) { | ||
return bridge.hasCobaltService(servicename); | ||
} | ||
|
||
@JavascriptInterface | ||
public void open_platform_service(String servicename) { | ||
bridge.openCobaltService(1, servicename); | ||
} | ||
@JavascriptInterface | ||
public void open_platform_service(long number, String servicename) { | ||
bridge.openCobaltService(number, servicename); | ||
} | ||
|
||
@JavascriptInterface | ||
public void close_platform_service(String servicename) { | ||
bridge.closeCobaltService(servicename); | ||
} | ||
@JavascriptInterface | ||
public void platform_service_send(String servicename, String base64Data) { | ||
byte[] data = Base64.decode(base64Data, Base64.DEFAULT); | ||
bridge.sendToCobaltService(servicename, data); | ||
} | ||
@JavascriptInterface | ||
public void close_platform_service(String servicename) { | ||
bridge.closeCobaltService(servicename); | ||
} | ||
|
||
@JavascriptInterface | ||
public String getSystemProperty(String propertyName, String defaultValue) { | ||
return System.getProperty(propertyName, defaultValue); | ||
} | ||
@JavascriptInterface | ||
public void platform_service_send(String servicename, String base64Data) { | ||
byte[] data = Base64.decode(base64Data, Base64.DEFAULT); | ||
bridge.sendToCobaltService(servicename, data); | ||
} | ||
|
||
@JavascriptInterface | ||
public String getRestrictedSystemProperty(String propName, String defaultValue) { | ||
try { | ||
Process process = Runtime.getRuntime().exec("getprop " + propName); | ||
BufferedReader bufferedReader = new BufferedReader( | ||
new InputStreamReader(process.getInputStream())); | ||
@JavascriptInterface | ||
public String getSystemProperty(String propertyName, String defaultValue) { | ||
return System.getProperty(propertyName, defaultValue); | ||
} | ||
|
||
return bufferedReader.readLine(); | ||
} catch (IOException e) { | ||
return defaultValue; | ||
} | ||
} | ||
@JavascriptInterface | ||
public String getRestrictedSystemProperty(String propName, String defaultValue) { | ||
try { | ||
Process process = Runtime.getRuntime().exec("getprop " + propName); | ||
BufferedReader bufferedReader = | ||
new BufferedReader(new InputStreamReader(process.getInputStream())); | ||
|
||
@JavascriptInterface | ||
public String getAdvertisingId() { | ||
Log.i(TAG, "getAdvertisingId:" + bridge.getAdvertisingId()); | ||
return bridge.getAdvertisingId(); | ||
return bufferedReader.readLine(); | ||
} catch (IOException e) { | ||
return defaultValue; | ||
} | ||
} | ||
|
||
@JavascriptInterface | ||
public boolean getLimitAdTracking() { | ||
return bridge.getLimitAdTracking(); | ||
} | ||
@JavascriptInterface | ||
public String getAdvertisingId() { | ||
Log.i(TAG, "getAdvertisingId:" + bridge.getAdvertisingId()); | ||
return bridge.getAdvertisingId(); | ||
} | ||
|
||
@JavascriptInterface | ||
public boolean getLimitAdTracking() { | ||
return bridge.getLimitAdTracking(); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters