diff --git a/README.MD b/README.MD index cdbc2da..30516ee 100644 --- a/README.MD +++ b/README.MD @@ -22,4 +22,8 @@ This plugin exports an object with one method called "tint": window.plugins.headerColor.tint("#becb29"); ``` +You can also specify the header color in your `config.xml`: +```xml + +``` diff --git a/plugin.xml b/plugin.xml index f255dd8..8ff356b 100644 --- a/plugin.xml +++ b/plugin.xml @@ -6,21 +6,22 @@ HeaderColor is a cordova plugin to change color of header in multitask view. Android devices. MIT cordova, ionic, header color, android - + - + - + + - + diff --git a/src/android/HeaderColor.java b/src/android/HeaderColor.java index df00236..1277b0e 100644 --- a/src/android/HeaderColor.java +++ b/src/android/HeaderColor.java @@ -1,31 +1,42 @@ -package tomloprod; +package tomloprod; -import org.apache.cordova.CallbackContext; -import org.apache.cordova.CordovaPlugin; -import org.json.JSONArray; -import org.json.JSONException; -import android.app.ActivityManager; -import android.os.Build; -import android.graphics.Color; -import android.content.Context; +import org.apache.cordova.CallbackContext; +import org.apache.cordova.CordovaInterface; +import org.apache.cordova.CordovaPlugin; +import org.apache.cordova.CordovaWebView; +import org.json.JSONArray; +import org.json.JSONException; +import android.app.ActivityManager; +import android.os.Build; +import android.graphics.Color; +import android.content.Context; public class HeaderColor extends CordovaPlugin { + @Override + public void initialize(final CordovaInterface cordova, CordovaWebView webView){ + super.initialize(cordova, webView); + setColor(preferences.getString("HeaderColor", "#000000")); + } @Override public boolean execute(String action, JSONArray data, CallbackContext callbackContext) throws JSONException { - if (action.equals("tint")) { - int color = Color.parseColor(data.getString(0)); - if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { - ActivityManager activityManager = (ActivityManager) cordova.getActivity().getSystemService(Context.ACTIVITY_SERVICE); - for(ActivityManager.AppTask appTask : activityManager.getAppTasks()) { - if(appTask.getTaskInfo().id == cordova.getActivity().getTaskId()) { - ActivityManager.TaskDescription description = appTask.getTaskInfo().taskDescription; - cordova.getActivity().setTaskDescription(new ActivityManager.TaskDescription(description.getLabel(), description.getIcon(), color)); - } - } - - } - } - return false; + if (action.equals("tint")) { + setColor(data.getString(0)); + } + return false; } + + private void setColor(String data) { + int color = Color.parseColor(data); + if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { + ActivityManager activityManager = (ActivityManager) cordova.getActivity().getSystemService(Context.ACTIVITY_SERVICE); + for(ActivityManager.AppTask appTask : activityManager.getAppTasks()) { + if(appTask.getTaskInfo().id == cordova.getActivity().getTaskId()) { + ActivityManager.TaskDescription description = appTask.getTaskInfo().taskDescription; + cordova.getActivity().setTaskDescription(new ActivityManager.TaskDescription(description.getLabel(), description.getIcon(), color)); + } + } + + } + } }