mirror of
https://github.com/apache/cordova-android.git
synced 2025-02-01 02:12:58 +08:00
Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/incubator-cordova-android
This commit is contained in:
commit
563fa46ba4
@ -48,8 +48,8 @@
|
|||||||
|
|
||||||
<application android:icon="@drawable/icon" android:label="@string/app_name"
|
<application android:icon="@drawable/icon" android:label="@string/app_name"
|
||||||
android:debuggable="true">
|
android:debuggable="true">
|
||||||
<activity android:name="__ACTIVITY__" android:label="@string/app_name"
|
<activity android:name="__ACTIVITY__" android:label="@string/app_name"
|
||||||
android:configChanges="orientation|keyboardHidden">
|
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale">
|
||||||
<intent-filter>
|
<intent-filter>
|
||||||
<action android:name="android.intent.action.MAIN" />
|
<action android:name="android.intent.action.MAIN" />
|
||||||
<category android:name="android.intent.category.LAUNCHER" />
|
<category android:name="android.intent.category.LAUNCHER" />
|
||||||
@ -57,5 +57,5 @@
|
|||||||
</activity>
|
</activity>
|
||||||
</application>
|
</application>
|
||||||
|
|
||||||
<uses-sdk android:minSdkVersion="5" />
|
<uses-sdk android:minSdkVersion="8" />
|
||||||
</manifest>
|
</manifest>
|
||||||
|
@ -51,7 +51,7 @@
|
|||||||
<application android:icon="@drawable/icon" android:label="@string/app_name"
|
<application android:icon="@drawable/icon" android:label="@string/app_name"
|
||||||
android:debuggable="true">
|
android:debuggable="true">
|
||||||
<activity android:name=".StandAlone" android:windowSoftInputMode="adjustPan"
|
<activity android:name=".StandAlone" android:windowSoftInputMode="adjustPan"
|
||||||
android:label="@string/app_name" android:configChanges="orientation|keyboardHidden">
|
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale">
|
||||||
<intent-filter>
|
<intent-filter>
|
||||||
<action android:name="android.intent.action.MAIN" />
|
<action android:name="android.intent.action.MAIN" />
|
||||||
<category android:name="android.intent.category.LAUNCHER" />
|
<category android:name="android.intent.category.LAUNCHER" />
|
||||||
|
@ -81,6 +81,8 @@ public class CordovaWebView extends WebView {
|
|||||||
|
|
||||||
private boolean volumeupBound;
|
private boolean volumeupBound;
|
||||||
|
|
||||||
|
private boolean handleButton = false;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructor.
|
* Constructor.
|
||||||
*
|
*
|
||||||
@ -749,7 +751,6 @@ public class CordovaWebView extends WebView {
|
|||||||
return super.onKeyUp(keyCode, event);
|
return super.onKeyUp(keyCode, event);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
Log.d(TAG, "KeyUp has been triggered on the view");
|
Log.d(TAG, "KeyUp has been triggered on the view");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -788,6 +789,7 @@ public class CordovaWebView extends WebView {
|
|||||||
|
|
||||||
public void handlePause(boolean keepRunning)
|
public void handlePause(boolean keepRunning)
|
||||||
{
|
{
|
||||||
|
LOG.d(TAG, "Handle the pause");
|
||||||
// Send pause event to JavaScript
|
// Send pause event to JavaScript
|
||||||
this.loadUrl("javascript:try{cordova.fireDocumentEvent('pause');}catch(e){console.log('exception firing pause event from native');};");
|
this.loadUrl("javascript:try{cordova.fireDocumentEvent('pause');}catch(e){console.log('exception firing pause event from native');};");
|
||||||
|
|
||||||
@ -843,4 +845,8 @@ public class CordovaWebView extends WebView {
|
|||||||
this.pluginManager.onNewIntent(intent);
|
this.pluginManager.onNewIntent(intent);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean hadKeyEvent() {
|
||||||
|
return handleButton;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -1032,5 +1032,20 @@ public class DroidGap extends Activity implements CordovaInterface {
|
|||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* (non-Javadoc)
|
||||||
|
* @see android.app.Activity#onKeyUp(int, android.view.KeyEvent)
|
||||||
|
*/
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean onKeyUp(int keyCode, KeyEvent event)
|
||||||
|
{
|
||||||
|
if (appView.backHistory() || keyCode != KeyEvent.KEYCODE_BACK)
|
||||||
|
return appView.onKeyUp(keyCode, event);
|
||||||
|
else
|
||||||
|
return super.onKeyUp(keyCode, event);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -115,6 +115,11 @@ public class FileTransfer extends Plugin {
|
|||||||
if (params == null) params = new JSONObject();
|
if (params == null) params = new JSONObject();
|
||||||
boolean trustEveryone = args.optBoolean(6);
|
boolean trustEveryone = args.optBoolean(6);
|
||||||
boolean chunkedMode = args.optBoolean(7) || args.isNull(7); //Always use chunked mode unless set to false as per API
|
boolean chunkedMode = args.optBoolean(7) || args.isNull(7); //Always use chunked mode unless set to false as per API
|
||||||
|
JSONObject headers = args.optJSONObject(8);
|
||||||
|
// Look for headers on the params map for backwards compatibility with older Cordova versions.
|
||||||
|
if (headers == null && params != null) {
|
||||||
|
headers = params.optJSONObject("headers");
|
||||||
|
}
|
||||||
|
|
||||||
Log.d(LOG_TAG, "fileKey: " + fileKey);
|
Log.d(LOG_TAG, "fileKey: " + fileKey);
|
||||||
Log.d(LOG_TAG, "fileName: " + fileName);
|
Log.d(LOG_TAG, "fileName: " + fileName);
|
||||||
@ -122,6 +127,7 @@ public class FileTransfer extends Plugin {
|
|||||||
Log.d(LOG_TAG, "params: " + params);
|
Log.d(LOG_TAG, "params: " + params);
|
||||||
Log.d(LOG_TAG, "trustEveryone: " + trustEveryone);
|
Log.d(LOG_TAG, "trustEveryone: " + trustEveryone);
|
||||||
Log.d(LOG_TAG, "chunkedMode: " + chunkedMode);
|
Log.d(LOG_TAG, "chunkedMode: " + chunkedMode);
|
||||||
|
Log.d(LOG_TAG, "headers: " + headers);
|
||||||
|
|
||||||
// Create return object
|
// Create return object
|
||||||
FileUploadResult result = new FileUploadResult();
|
FileUploadResult result = new FileUploadResult();
|
||||||
@ -177,25 +183,32 @@ public class FileTransfer extends Plugin {
|
|||||||
conn.setRequestMethod("POST");
|
conn.setRequestMethod("POST");
|
||||||
conn.setRequestProperty("Connection", "Keep-Alive");
|
conn.setRequestProperty("Connection", "Keep-Alive");
|
||||||
conn.setRequestProperty("Content-Type", "multipart/form-data;boundary=" + BOUNDARY);
|
conn.setRequestProperty("Content-Type", "multipart/form-data;boundary=" + BOUNDARY);
|
||||||
|
|
||||||
// Handle the other headers
|
|
||||||
try {
|
|
||||||
JSONObject headers = params.getJSONObject("headers");
|
|
||||||
for (Iterator iter = headers.keys(); iter.hasNext();)
|
|
||||||
{
|
|
||||||
String headerKey = iter.next().toString();
|
|
||||||
conn.setRequestProperty(headerKey, headers.getString(headerKey));
|
|
||||||
}
|
|
||||||
} catch (JSONException e1) {
|
|
||||||
// No headers to be manipulated!
|
|
||||||
}
|
|
||||||
|
|
||||||
// Set the cookies on the response
|
// Set the cookies on the response
|
||||||
String cookie = CookieManager.getInstance().getCookie(target);
|
String cookie = CookieManager.getInstance().getCookie(target);
|
||||||
if (cookie != null) {
|
if (cookie != null) {
|
||||||
conn.setRequestProperty("Cookie", cookie);
|
conn.setRequestProperty("Cookie", cookie);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Handle the other headers
|
||||||
|
if (headers != null) {
|
||||||
|
try {
|
||||||
|
for (Iterator iter = headers.keys(); iter.hasNext(); ) {
|
||||||
|
String headerKey = iter.next().toString();
|
||||||
|
JSONArray headerValues = headers.optJSONArray(headerKey);
|
||||||
|
if (headerValues == null) {
|
||||||
|
headerValues = new JSONArray();
|
||||||
|
headerValues.put(headers.getString(headerKey));
|
||||||
|
}
|
||||||
|
conn.setRequestProperty(headerKey, headerValues.getString(0));
|
||||||
|
for (int i = 1; i < headerValues.length(); ++i) {
|
||||||
|
conn.addRequestProperty(headerKey, headerValues.getString(i));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (JSONException e1) {
|
||||||
|
// No headers to be manipulated!
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Store the non-file portions of the multipart data as a string, so that we can add it
|
* Store the non-file portions of the multipart data as a string, so that we can add it
|
||||||
|
Loading…
Reference in New Issue
Block a user