mirror of
https://github.com/apache/cordova-android.git
synced 2025-03-16 16:51:02 +08:00
Merge branch 'master' of git://github.com/phonegap/phonegap-android
This commit is contained in:
commit
ebd92a4b12
@ -49,7 +49,7 @@ import android.widget.EditText;
|
|||||||
import android.widget.LinearLayout;
|
import android.widget.LinearLayout;
|
||||||
|
|
||||||
import com.phonegap.api.PhonegapActivity;
|
import com.phonegap.api.PhonegapActivity;
|
||||||
import com.phonegap.api.Plugin;
|
import com.phonegap.api.IPlugin;
|
||||||
import com.phonegap.api.PluginManager;
|
import com.phonegap.api.PluginManager;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -140,7 +140,7 @@ public class DroidGap extends PhonegapActivity {
|
|||||||
private String baseUrl = null;
|
private String baseUrl = null;
|
||||||
|
|
||||||
// Plugin to call when activity result is received
|
// Plugin to call when activity result is received
|
||||||
protected Plugin activityResultCallback = null;
|
protected IPlugin activityResultCallback = null;
|
||||||
protected boolean activityResultKeepRunning;
|
protected boolean activityResultKeepRunning;
|
||||||
|
|
||||||
// Flag indicates that a loadUrl timeout occurred
|
// Flag indicates that a loadUrl timeout occurred
|
||||||
@ -1288,7 +1288,7 @@ public class DroidGap extends PhonegapActivity {
|
|||||||
* @param intent The intent to start
|
* @param intent The intent to start
|
||||||
* @param requestCode The request code that is passed to callback to identify the activity
|
* @param requestCode The request code that is passed to callback to identify the activity
|
||||||
*/
|
*/
|
||||||
public void startActivityForResult(Plugin command, Intent intent, int requestCode) {
|
public void startActivityForResult(IPlugin command, Intent intent, int requestCode) {
|
||||||
this.activityResultCallback = command;
|
this.activityResultCallback = command;
|
||||||
this.activityResultKeepRunning = this.keepRunning;
|
this.activityResultKeepRunning = this.keepRunning;
|
||||||
|
|
||||||
@ -1313,14 +1313,14 @@ public class DroidGap extends PhonegapActivity {
|
|||||||
*/
|
*/
|
||||||
protected void onActivityResult(int requestCode, int resultCode, Intent intent) {
|
protected void onActivityResult(int requestCode, int resultCode, Intent intent) {
|
||||||
super.onActivityResult(requestCode, resultCode, intent);
|
super.onActivityResult(requestCode, resultCode, intent);
|
||||||
Plugin callback = this.activityResultCallback;
|
IPlugin callback = this.activityResultCallback;
|
||||||
if (callback != null) {
|
if (callback != null) {
|
||||||
callback.onActivityResult(requestCode, resultCode, intent);
|
callback.onActivityResult(requestCode, resultCode, intent);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setActivityResultCallback(Plugin plugin) {
|
public void setActivityResultCallback(IPlugin plugin) {
|
||||||
this.activityResultCallback = plugin;
|
this.activityResultCallback = plugin;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -66,6 +66,11 @@ public interface IPlugin {
|
|||||||
*/
|
*/
|
||||||
void onResume(boolean multitasking);
|
void onResume(boolean multitasking);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Called when the activity receives a new intent.
|
||||||
|
*/
|
||||||
|
void onNewIntent(Intent intent);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The final call you receive before your activity is destroyed.
|
* The final call you receive before your activity is destroyed.
|
||||||
*/
|
*/
|
||||||
|
@ -39,12 +39,12 @@ public abstract class PhonegapActivity extends Activity {
|
|||||||
* @param intent The intent to start
|
* @param intent The intent to start
|
||||||
* @param requestCode The request code that is passed to callback to identify the activity
|
* @param requestCode The request code that is passed to callback to identify the activity
|
||||||
*/
|
*/
|
||||||
abstract public void startActivityForResult(Plugin command, Intent intent, int requestCode);
|
abstract public void startActivityForResult(IPlugin command, Intent intent, int requestCode);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set the plugin to be called when a sub-activity exits.
|
* Set the plugin to be called when a sub-activity exits.
|
||||||
*
|
*
|
||||||
* @param plugin The plugin on which onActivityResult is to be called
|
* @param plugin The plugin on which onActivityResult is to be called
|
||||||
*/
|
*/
|
||||||
abstract public void setActivityResultCallback(Plugin plugin);
|
abstract public void setActivityResultCallback(IPlugin plugin);
|
||||||
}
|
}
|
||||||
|
@ -27,7 +27,7 @@ import android.webkit.WebView;
|
|||||||
*/
|
*/
|
||||||
public final class PluginManager {
|
public final class PluginManager {
|
||||||
|
|
||||||
private HashMap<String, Plugin> plugins = new HashMap<String,Plugin>();
|
private HashMap<String, IPlugin> plugins = new HashMap<String,IPlugin>();
|
||||||
private HashMap<String, String> services = new HashMap<String,String>();
|
private HashMap<String, String> services = new HashMap<String,String>();
|
||||||
|
|
||||||
private final PhonegapActivity ctx;
|
private final PhonegapActivity ctx;
|
||||||
@ -105,7 +105,7 @@ public final class PluginManager {
|
|||||||
c = getClassByName(clazz);
|
c = getClassByName(clazz);
|
||||||
}
|
}
|
||||||
if (isPhoneGapPlugin(c)) {
|
if (isPhoneGapPlugin(c)) {
|
||||||
final Plugin plugin = this.addPlugin(clazz, c);
|
final IPlugin plugin = this.addPlugin(clazz, c);
|
||||||
final PhonegapActivity ctx = this.ctx;
|
final PhonegapActivity ctx = this.ctx;
|
||||||
runAsync = async && !plugin.isSynch(action);
|
runAsync = async && !plugin.isSynch(action);
|
||||||
if (runAsync) {
|
if (runAsync) {
|
||||||
@ -201,12 +201,12 @@ public final class PluginManager {
|
|||||||
* @return The plugin
|
* @return The plugin
|
||||||
*/
|
*/
|
||||||
@SuppressWarnings("unchecked")
|
@SuppressWarnings("unchecked")
|
||||||
private Plugin addPlugin(String className, Class clazz) {
|
private IPlugin addPlugin(String className, Class clazz) {
|
||||||
if (this.plugins.containsKey(className)) {
|
if (this.plugins.containsKey(className)) {
|
||||||
return this.getPlugin(className);
|
return this.getPlugin(className);
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
Plugin plugin = (Plugin)clazz.newInstance();
|
IPlugin plugin = (IPlugin)clazz.newInstance();
|
||||||
this.plugins.put(className, plugin);
|
this.plugins.put(className, plugin);
|
||||||
plugin.setContext(this.ctx);
|
plugin.setContext(this.ctx);
|
||||||
plugin.setView(this.app);
|
plugin.setView(this.app);
|
||||||
@ -225,8 +225,8 @@ public final class PluginManager {
|
|||||||
* @param className The class of the loaded plugin.
|
* @param className The class of the loaded plugin.
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
private Plugin getPlugin(String className) {
|
private IPlugin getPlugin(String className) {
|
||||||
Plugin plugin = this.plugins.get(className);
|
IPlugin plugin = this.plugins.get(className);
|
||||||
return plugin;
|
return plugin;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -247,11 +247,11 @@ public final class PluginManager {
|
|||||||
* @param multitasking Flag indicating if multitasking is turned on for app
|
* @param multitasking Flag indicating if multitasking is turned on for app
|
||||||
*/
|
*/
|
||||||
public void onPause(boolean multitasking) {
|
public void onPause(boolean multitasking) {
|
||||||
java.util.Set<Entry<String,Plugin>> s = this.plugins.entrySet();
|
java.util.Set<Entry<String,IPlugin>> s = this.plugins.entrySet();
|
||||||
java.util.Iterator<Entry<String,Plugin>> it = s.iterator();
|
java.util.Iterator<Entry<String,IPlugin>> it = s.iterator();
|
||||||
while(it.hasNext()) {
|
while(it.hasNext()) {
|
||||||
Entry<String,Plugin> entry = it.next();
|
Entry<String,IPlugin> entry = it.next();
|
||||||
Plugin plugin = entry.getValue();
|
IPlugin plugin = entry.getValue();
|
||||||
plugin.onPause(multitasking);
|
plugin.onPause(multitasking);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -262,11 +262,11 @@ public final class PluginManager {
|
|||||||
* @param multitasking Flag indicating if multitasking is turned on for app
|
* @param multitasking Flag indicating if multitasking is turned on for app
|
||||||
*/
|
*/
|
||||||
public void onResume(boolean multitasking) {
|
public void onResume(boolean multitasking) {
|
||||||
java.util.Set<Entry<String,Plugin>> s = this.plugins.entrySet();
|
java.util.Set<Entry<String,IPlugin>> s = this.plugins.entrySet();
|
||||||
java.util.Iterator<Entry<String,Plugin>> it = s.iterator();
|
java.util.Iterator<Entry<String,IPlugin>> it = s.iterator();
|
||||||
while(it.hasNext()) {
|
while(it.hasNext()) {
|
||||||
Entry<String,Plugin> entry = it.next();
|
Entry<String,IPlugin> entry = it.next();
|
||||||
Plugin plugin = entry.getValue();
|
IPlugin plugin = entry.getValue();
|
||||||
plugin.onResume(multitasking);
|
plugin.onResume(multitasking);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -275,11 +275,11 @@ public final class PluginManager {
|
|||||||
* The final call you receive before your activity is destroyed.
|
* The final call you receive before your activity is destroyed.
|
||||||
*/
|
*/
|
||||||
public void onDestroy() {
|
public void onDestroy() {
|
||||||
java.util.Set<Entry<String,Plugin>> s = this.plugins.entrySet();
|
java.util.Set<Entry<String,IPlugin>> s = this.plugins.entrySet();
|
||||||
java.util.Iterator<Entry<String,Plugin>> it = s.iterator();
|
java.util.Iterator<Entry<String,IPlugin>> it = s.iterator();
|
||||||
while(it.hasNext()) {
|
while(it.hasNext()) {
|
||||||
Entry<String,Plugin> entry = it.next();
|
Entry<String,IPlugin> entry = it.next();
|
||||||
Plugin plugin = entry.getValue();
|
IPlugin plugin = entry.getValue();
|
||||||
plugin.onDestroy();
|
plugin.onDestroy();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -288,11 +288,11 @@ public final class PluginManager {
|
|||||||
* Called when the activity receives a new intent.
|
* Called when the activity receives a new intent.
|
||||||
*/
|
*/
|
||||||
public void onNewIntent(Intent intent) {
|
public void onNewIntent(Intent intent) {
|
||||||
java.util.Set<Entry<String,Plugin>> s = this.plugins.entrySet();
|
java.util.Set<Entry<String,IPlugin>> s = this.plugins.entrySet();
|
||||||
java.util.Iterator<Entry<String,Plugin>> it = s.iterator();
|
java.util.Iterator<Entry<String,IPlugin>> it = s.iterator();
|
||||||
while(it.hasNext()) {
|
while(it.hasNext()) {
|
||||||
Entry<String,Plugin> entry = it.next();
|
Entry<String,IPlugin> entry = it.next();
|
||||||
Plugin plugin = entry.getValue();
|
IPlugin plugin = entry.getValue();
|
||||||
plugin.onNewIntent(intent);
|
plugin.onNewIntent(intent);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user