From http://www.jwz.org/xscreensaver/xscreensaver-5.39.tar.gz
[xscreensaver] / hacks / check-configs.pl
index a65979d988efc7a332100ee3084b6a8dc56ee43a..7a7d0bb5e35a3c4f2425fe16cedc7f7f757c0221 100755 (executable)
@@ -21,7 +21,7 @@ use diagnostics;
 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;
@@ -696,7 +696,7 @@ sub build_android(@) {
   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";
@@ -722,7 +722,7 @@ sub build_android(@) {
     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;
   }
 
@@ -997,17 +997,17 @@ sub build_android(@) {
     $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");
@@ -1016,8 +1016,7 @@ sub build_android(@) {
     $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;
@@ -1033,10 +1032,10 @@ sub build_android(@) {
               $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" .
@@ -1055,6 +1054,30 @@ sub build_android(@) {
                 "  </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;
@@ -1074,21 +1097,28 @@ sub build_android(@) {
                "  <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" .
@@ -1097,7 +1127,6 @@ sub build_android(@) {
 
   $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" .
@@ -1107,7 +1136,6 @@ sub build_android(@) {
   $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 .