chiark / gitweb /
Now puts current market version name/code into metadata files
authorCiaran Gultnieks <ciaran@ciarang.com>
Wed, 27 Oct 2010 19:57:19 +0000 (20:57 +0100)
committerCiaran Gultnieks <ciaran@ciarang.com>
Wed, 27 Oct 2010 19:57:19 +0000 (20:57 +0100)
marketcheck/test.java

index 945ef95ab7d3ab48e8d0074f770544ac881e9e55..e2de0ea0aaff712e2a20f1293a68cb147d3e01cf 100644 (file)
@@ -52,16 +52,66 @@ class test {
 \r
                 @Override\r
                     public void onResult(ResponseContext contex, Object oresp) {\r
-                        AppsResponse response = (AppsResponse)oresp;\r
-                        if(response.getAppCount() != 1) {\r
-                            System.out.println("Not in market, or multiple results");\r
-                        } else {\r
-                            App app = response.getAppList().get(0);\r
-                            System.out.println("  Package:" + app.getPackageName());\r
-                            System.out.println("  Version Code:" + app.getVersionCode());\r
-                            System.out.println("  Version:" + app.getVersion());\r
+                        try {\r
+                            AppsResponse response = (AppsResponse)oresp;\r
+                            if(response.getAppCount() != 1) {\r
+                                System.out.println("Not in market, or multiple results");\r
+                            } else {\r
+                                App app = response.getAppList().get(0);\r
+                                String filespec = "../metadata/" + app.getPackageName() + ".txt";\r
+                                FileInputStream fi = new FileInputStream(filespec);\r
+                                BufferedInputStream bi = new BufferedInputStream(fi);\r
+                                DataInputStream di = new DataInputStream(bi);\r
+                                StringBuilder output = new StringBuilder();\r
+                                boolean changed = false;\r
+                                boolean vercodefound = false;\r
+                                boolean versionfound = false;\r
+                                String line, newline;\r
+                                while (di.available() != 0) {\r
+                                    line = di.readLine();\r
+                                    if (line.startsWith("Market Version:")) {\r
+                                        versionfound = true;\r
+                                        newline="Market Version:" + app.getVersion();\r
+                                        if (!newline.equals(line)) {\r
+                                            changed = true;\r
+                                            line = newline;\r
+                                        }\r
+                                    } else if (line.startsWith("Market Version Code:")) {\r
+                                        vercodefound = true;\r
+                                        newline="Market Version Code:" + app.getVersionCode();\r
+                                        if (!newline.equals(line)) {\r
+                                            changed = true;\r
+                                            line = newline;\r
+                                        }\r
+                                    }\r
+                                    output.append(line + "\n");\r
+                                }\r
+                                di.close();\r
+                                bi.close();\r
+                                fi.close();\r
+                                if(!versionfound) {\r
+                                    changed = true;\r
+                                    output.append("Market Version:" + app.getVersion() + "\n");\r
+                                }\r
+                                if(!vercodefound) {\r
+                                    changed = true;\r
+                                    output.append("Market Version Code:" + app.getVersionCode() + "\n");\r
+                                }\r
+\r
+                                if (changed) { \r
+                                    System.out.println("..updating");\r
+                                    File of = new File(filespec);\r
+                                    BufferedWriter wi = new BufferedWriter(new FileWriter(of));\r
+                                    wi.write(output.toString());\r
+                                    wi.close();\r
+                                }\r
+\r
+                            }\r
+                        } catch (Exception ex) {\r
+                            System.out.println("...Exception!");\r
                         }\r
                     }\r
+\r
             };\r
 \r
             for(String pkg : apps) {\r