use strict;
my $progname = $0; $progname =~ s@.*/@@g;
-my ($version) = ('$Revision: 1.24 $' =~ m/\s(\d[.\d]+)\s/s);
+my ($version) = ('$Revision: 1.26 $' =~ m/\s(\d[.\d]+)\s/s);
my $verbose = 0;
my $debug_p = 0;
my (@savers) = @_;
my $package = "org.jwz.xscreensaver";
- my $project_dir = "project/xscreensaver";
+ my $project_dir = "xscreensaver";
my $xml_dir = "$project_dir/res/xml";
my $values_dir = "$project_dir/res/values";
my $java_dir = "$project_dir/src/org/jwz/xscreensaver/gen";
open (my $in, '<', $file) || error ("$file: $!");
while (<$in>) { $body .= $_; }
close $in;
- ($vers) = ($body =~ m@ (\d+\.\d+) @s);
+ ($vers) = ($body =~ m@ (\d+\.[0-9a-z]+) @s);
error ("$file: no version number") unless $vers;
}
$write_files{"$xml_dir/${saver_underscore}_wallpaper.xml"} = $wallpaper;
$daydream_java .=
- (" public static class $saver_class extends XScreenSaverDaydream {\n" .
+ (" public static class $saver_class extends org.jwz.xscreensaver.Daydream {\n" .
" }\n" .
"\n");
$wallpaper_java .=
- (" public static class $saver_class extends XScreenSaverWallpaper {\n" .
+ (" public static class $saver_class extends org.jwz.xscreensaver.Wallpaper {\n" .
" }\n" .
"\n");
$settings_java .=
- (" public static class $saver_class extends XScreenSaverSettings\n" .
+ (" public static class $saver_class extends org.jwz.xscreensaver.Settings\n" .
" implements SharedPreferences.OnSharedPreferenceChangeListener {\n" .
" }\n" .
"\n");
$fntable_h3 .= ",\n " if $fntable_h3 ne '';
$fntable_h2 .= "${saver}_xscreensaver_function_table";
- $fntable_h3 .= "{\"${saver}\", &${saver}_xscreensaver_function_table, " .
- 'API_' . ($gl_p ? 'GL' : 'XLIB') . '}';
+ $fntable_h3 .= "{\"${saver}\", &${saver}_xscreensaver_function_table}";
}
$arrays =~ s/^/ /gm;
$strings .
"</resources>\n");
- $manifest .= "<activity android:name=\"$package.XScreenSaverSettings\" />\n";
+ $manifest .= "<activity android:name=\"$package.Settings\" />\n";
$manifest .= ("<activity android:name=\"" .
- "org.jwz.xscreensaver.XScreenSaverActivity\"\n" .
+ "org.jwz.xscreensaver.Activity\"\n" .
" android:theme=\"\@android:style/Theme.Holo\"\n" .
" android:label=\"\@string/app_name\">\n" .
" <intent-filter>\n" .
" </intent-filter>\n" .
"</activity>\n");
+
+ $manifest .= ("<activity android:name=\"" .
+ "org.jwz.xscreensaver.TVActivity\"\n" .
+ " android:theme=\"\@android:style/Theme.Holo\"\n" .
+ " android:label=\"\@string/app_name\">\n" .
+ " <intent-filter>\n" .
+ " <action android:name=\"android.intent.action" .
+ ".MAIN\" />\n" .
+ " <category android:name=\"android.intent.category" .
+ ".LEANBACK_LAUNCHER\" />\n" .
+ " </intent-filter>\n" .
+ " <intent-filter>\n" .
+ " <action android:name=\"android.intent.action" .
+ ".VIEW\" />\n" .
+ " <category android:name=\"android.intent.category" .
+ ".DEFAULT\" />\n" .
+ " <category android:name=\"android.intent.category" .
+ ".BROWSABLE\" />\n" .
+ " </intent-filter>\n" .
+ "</activity>\n");
+
+
+
+
# Android wants this to be an int
my $versb = $vers;
$versb =~ s/^(\d+)\.(\d+).*$/{ $1 * 10000 + $2 * 100 }/sex;
" <uses-feature android:glEsVersion=\"0x00010001\"\n" .
" android:required=\"true\" />\n" .
+ " <uses-feature android:name=\"android.software.leanback\"\n" .
+ " android:required=\"false\" />\n" .
+
+ " <uses-feature" .
+ " android:name=\"android.hardware.touchscreen\"\n" .
+ " android:required=\"false\" />\n" .
+
" <uses-permission android:name=\"" .
"android.permission.INTERNET\" />\n" .
" <uses-permission android:name=\"" .
"android.permission.READ_EXTERNAL_STORAGE\" />\n" .
" <application android:icon=\"\@drawable/thumbnail\"\n" .
+ " android:banner=\"\@drawable/thumbnail\"\n" .
" android:label=\"\@string/app_name\"\n" .
- " android:name=\".XScreenSaverApp\">\n" .
+ " android:name=\".App\">\n" .
$manifest .
" </application>\n" .
"</manifest>\n");
$daydream_java = ("package org.jwz.xscreensaver.gen;\n" .
"\n" .
- "import org.jwz.xscreensaver.XScreenSaverDaydream;\n" .
"import org.jwz.xscreensaver.jwxyz;\n" .
"\n" .
"public class Daydream {\n" .
$wallpaper_java = ("package org.jwz.xscreensaver.gen;\n" .
"\n" .
- "import org.jwz.xscreensaver.XScreenSaverWallpaper;\n" .
"import org.jwz.xscreensaver.jwxyz;\n" .
"\n" .
"public class Wallpaper {\n" .
$settings_java = ("package org.jwz.xscreensaver.gen;\n" .
"\n" .
"import android.content.SharedPreferences;\n" .
- "import org.jwz.xscreensaver.XScreenSaverSettings;\n" .
"\n" .
"public class Settings {\n" .
$settings_java .