diff --git a/assets/www/index.html b/assets/www/index.html
new file mode 100644
index 00000000..b53776da
--- /dev/null
+++ b/assets/www/index.html
@@ -0,0 +1,147 @@
+
+
+
+
+
+ PhoneGap
+
+
+
+
+
+ Welcome to PhoneGap!
+ this file is located at assets/index.html
+
+
Platform:
+ Version:
+ UUID:
+
+
+ - X:
-
+ - Y:
-
+ - Z:
-
+
+ Watch Accelerometer
+ Get Location
+ Call 411
+ Beep
+ Vibrate
+ Get a Picture
+ Get phone's contacts
+
+
![]()
+
+
+
diff --git a/droidgap b/droidgap
index 44c89365..a10b4c04 100755
--- a/droidgap
+++ b/droidgap
@@ -3,12 +3,17 @@ require 'fileutils'
# ./droidgap /Users/brianleroux/Code/android-sdk-mac MyApp com.westcoastlogic example /Users/brianleroux/Desktop/MyApp
class Build
- attr_reader :android_sdk_path, :name, :pkg, :www, :path, :dir
+ attr_reader :android_sdk_path, :name, :pkg, :www, :path
def initialize(*a)
@android_sdk_path, @name, @pkg, @www, @path = a
+<<<<<<< HEAD:droidgap
@s = File::SEPARATOR
@dir = Dir.pwd + @s
+=======
+ @android_dir = File.expand_path(File.dirname(__FILE__))
+ @framework_dir = File.join(@android_dir, "framework")
+>>>>>>> 594e77690c3ea072feb173168127c8c4fe83aeec:droidgap
end
# runs the build script
@@ -26,16 +31,16 @@ class Build
# removes local.properties and recreates based on android_sdk_path
# then generates framework/phonegap.jar
def build_jar
- puts "Building the JAR..."
- FileUtils.rm "#{ @dir }framework#{@s}local.properties" if File.exists? "#{ @dir }framework#{@s}local.properties"
- FileUtils.rm "#{ @dir }framework#{@s}phonegap.js" if File.exists? "#{ @dir }framework#{@s}phonegap.js"
- FileUtils.rm "#{ @dir }framework#{@s}phonegap.jar" if File.exists? "#{ @dir }framework#{@s}phonegap.jar"
- open("#{ @dir }framework#{@s}local.properties", 'w') do |f|
+ puts "Building the JAR..."
+ %w(local.properties phonegap.js phonegap.jar).each do |f|
+ FileUtils.rm File.join(@framework_dir, f) if File.exists? File.join(@framework_dir, f)
+ end
+ open(File.join(@framework_dir, "local.properties"), 'w') do |f|
f.puts "sdk.dir=#{ @android_sdk_path }"
end
- Dir.chdir(@dir + "framework")
+ Dir.chdir(@framework_dir)
`ant jar`
- Dir.chdir(@dir)
+ Dir.chdir(@android_dir)
end
# runs android create project
@@ -48,59 +53,74 @@ class Build
def include_www
puts "Adding www folder to project..."
- FileUtils.mkdir_p "#{ @path }#{@s}assets#{@s}www"
- FileUtils.cp_r "#{ @www }#{ @s }.", "#{ @path }#{ @s }assets#{ @s }www#{ @s }"
+ target_id = `android list targets` =~ /id:\s*(\d+).*android-5/ ? $1 : 5
+ `android create project -t #{target_id} -k #{ @pkg } -a #{ @name } -n #{ @name } -p #{ @path }`
+ FileUtils.mkdir_p File.join(@path, "assets", "www")
+ FileUtils.cp_r File.join(@www, "."), File.join(@path, "assets", "www")
end
# creates an AndroidManifest.xml for the project
def generate_manifest
- puts "Generating manifest..."
+ puts "Generating manifest..."
manifest = ""
- open(@dir + 'framework/AndroidManifest.xml', 'r') do |old|
- manifest = old.read
- manifest.gsub! 'android:versionCode="5"', 'android:versionCode="1"'
- manifest.gsub! 'package="com.phonegap"', "package=\"#{ @pkg }\""
- manifest.gsub! 'android:name=".StandAlone"', "android:name=\".#{ @name }\""
- manifest.gsub! 'android:minSdkVersion="5"', 'android:minSdkVersion="3"'
+ open(File.join(@framework_dir, "AndroidManifest.xml"), 'r') do |old|
+ manifest = old.read
+ manifest.gsub! 'android:versionCode="5"', 'android:versionCode="1"'
+ manifest.gsub! 'package="com.phonegap"', "package=\"#{ @pkg }\""
+ manifest.gsub! 'android:name=".StandAlone"', "android:name=\".#{ @name }\""
+ manifest.gsub! 'android:minSdkVersion="5"', 'android:minSdkVersion="3"'
end
- open("#{ @path }#{@s}AndroidManifest.xml", 'w') { |x| x.puts manifest }
+ open(File.join(@path, "AndroidManifest.xml"), 'w') { |x| x.puts manifest }
end
# copies stuff from framework into the project
# TODO need to allow for www import inc icon
def copy_libs
- puts "Copying over libraries and assets and creating phonegap.js..."
- FileUtils.cp "#{ @dir }framework#{@s}phonegap.jar", "#{ @path }#{@s}libs"
- FileUtils.cp "#{ @dir }framework#{@s}res#{@s}values#{@s}strings.xml", "#{ @path }#{@s}res#{@s}values#{@s}strings.xml"
- FileUtils.cp "#{ @dir }framework#{@s}res#{@s}layout#{@s}main.xml", "#{ @path }#{@s}res#{@s}layout#{@s}main.xml"
- FileUtils.cp "#{ @dir }framework#{@s}res#{@s}layout#{@s}preview.xml", "#{ @path }#{@s}res#{@s}layout#{@s}preview.xml"
- %w(drawable-hdpi drawable-ldpi drawable-mdpi).each do |e|
- FileUtils.cp "#{ @dir }framework#{@s}res#{@s}drawable#{@s}icon.png", "#{ @path }#{@s}res#{@s}#{ e }#{@s}icon.png"
+ puts "Copying over libraries and assets and creating phonegap.js..."
+
+ framework_res_dir = File.join(@framework_dir, "res")
+ app_res_dir = File.join(@path, "res")
+
+ FileUtils.mkdir_p File.join(@path, "libs")
+ FileUtils.cp File.join(@framework_dir, "phonegap.jar"), File.join(@path, "libs")
+
+ FileUtils.mkdir_p File.join(app_res_dir, "values")
+ FileUtils.cp File.join(framework_res_dir, "values","strings.xml"), File.join(app_res_dir, "values", "strings.xml")
+
+ FileUtils.mkdir_p File.join(app_res_dir, "layout")
+ %w(main.xml preview.xml).each do |f|
+ FileUtils.cp File.join(framework_res_dir, "layout", f), File.join(app_res_dir, "layout", f)
end
- # concat JS and put into www folder.
- Dir.chdir("#{ @dir }framework#{ @s }assets#{ @s }js")
- basedir = "."
- js = Dir.new(basedir).entries
- phonegapjs = IO.read('phonegap.js.base');
- js.each do |script|
- next if script[0].chr == "." or script == "phonegap.js.base"
- phonegapjs += IO.read(script)
- phonegapjs += "\n\n"
- end
- Dir.chdir("#{ @dir}")
- File.open("#{ @path }#{ @s }assets#{ @s }www#{ @s }phonegap.js", 'w') {|f| f.write(phonegapjs) }
+
+ %w(drawable-hdpi drawable-ldpi drawable-mdpi).each do |e|
+ FileUtils.mkdir_p File.join(app_res_dir, e)
+ FileUtils.cp File.join(framework_res_dir, "drawable", "icon.png"), File.join(app_res_dir, e, "icon.png")
+ end
+
+ # concat JS and put into www folder.
+ js_dir = File.join(@framework_dir, "assets", "js")
+
+ phonegapjs = IO.read(File.join(js_dir, 'phonegap.js.base'))
+
+ Dir.new(js_dir).entries.each do |script|
+ next if script[0].chr == "." or script == "phonegap.js.base"
+ phonegapjs << IO.read(File.join(js_dir, script))
+ phonegapjs << "\n\n"
+ end
+
+ File.open(File.join(@path, "assets", "www", "phonegap.js"), 'w') {|f| f.write(phonegapjs) }
end
# puts app name in strings
def add_name_to_strings
- puts "Adding app name to strings.xml..."
+ puts "Adding some application name to strings.xml..."
x = "
#{ @name }
Snap
"
- open("#{ @path }#{@s}res#{@s}values#{@s}strings.xml", 'w') do |f|
+ open(File.join(@path, "res", "values", "strings.xml"), 'w') do |f|
f.puts x.gsub(' ','')
end
end
@@ -126,10 +146,11 @@ class Build
}
}
"
- dir = "#{ @path }#{@s}src#{@s}#{ @pkg.gsub '.', '/' }";
- cls = "#{ @name }.java"
- pth = File.join(dir,cls)
- open(pth,'w') { |f| f.puts j.gsub(' ','') }
+
+ code_dir = File.join(@path, "src", @pkg.gsub('.', File::SEPARATOR))
+
+ FileUtils.mkdir_p(code_dir)
+ open(File.join(code_dir, "#{@name}.java"),'w') { |f| f.puts j.gsub(' ','') }
end
#
end
diff --git a/framework/src/com/phonegap/GeoListener.java b/framework/src/com/phonegap/GeoListener.java
index 45267b6b..c9c8f3b0 100644
--- a/framework/src/com/phonegap/GeoListener.java
+++ b/framework/src/com/phonegap/GeoListener.java
@@ -66,8 +66,10 @@ public class GeoListener {
// This stops the listener
void stop()
{
- mGps.stop();
- mNetwork.stop();
+ if(mGps != null)
+ mGps.stop();
+ if(mNetwork != null)
+ mNetwork.stop();
}
public Location getCurrentLocation() {
diff --git a/framework/src/com/phonegap/StandAlone.java b/framework/src/com/phonegap/StandAlone.java
index 408d2f22..933bd9fa 100644
--- a/framework/src/com/phonegap/StandAlone.java
+++ b/framework/src/com/phonegap/StandAlone.java
@@ -11,22 +11,7 @@ public class StandAlone extends DroidGap {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
- /* Load a URI from the strings.xml file */
- Class c = R.string.class;
- Field f;
- String uri;
-
- int i = 0;
-
- try {
- f = c.getField("url");
- i = f.getInt(f);
- uri = this.getResources().getString(i);
- } catch (Exception e)
- {
- uri = "http://www.phonegap.com";
- }
- super.loadUrl(uri);
+ super.loadUrl("file:///android_asset/www/index.html");
}
}