\r
-import java.io.FileOutputStream;\r
+import java.io.*;\r
+import java.util.*;\r
\r
import com.gc.android.market.api.MarketSession.Callback;\r
import com.gc.android.market.api.MarketSession;\r
*/\r
public static void main(String[] args) {\r
try {\r
- if(args.length < 3) {\r
+ if(args.length < 2) {\r
System.out.println("Parameters :\n" +\r
- "email password package");\r
+ "email password");\r
return;\r
}\r
-\r
-\r
String login = args[0];\r
String password = args[1];\r
- String query = args.length > 2 ? args[2] : "Test";\r
+\r
+ // Get a list of apps we want to check - i.e. those that\r
+ // we have metadata files for...\r
+ File dir = new File("../metadata");\r
+ List<String> apps = new ArrayList<String>();\r
+ String[] metafiles = dir.list();\r
+ for (int i=0; i<metafiles.length; i++) {\r
+ String metafile = metafiles[i];\r
+ if(metafile.endsWith(".txt")) {\r
+ String pkg = metafile.substring(0,\r
+ metafile.length() - 4);\r
+ apps.add(pkg);\r
+ }\r
+ }\r
+ System.out.println("Apps to check: " + apps.size());\r
\r
MarketSession session = new MarketSession();\r
System.out.println("Login...");\r
session.login(login,password);\r
System.out.println("Login done");\r
\r
- AppsRequest appsRequest = AppsRequest.newBuilder()\r
- .setQuery(query)\r
- .setStartIndex(0).setEntriesCount(10)\r
- .setWithExtendedInfo(true)\r
- .build();\r
-\r
MarketSession.Callback callback = new MarketSession.Callback() {\r
\r
@Override\r
System.out.println("Not in market, or multiple results");\r
} else {\r
App app = response.getAppList().get(0);\r
- System.out.println("Version Code:" + app.getVersionCode());\r
- System.out.println("Version:" + app.getVersion());\r
+ System.out.println(" Package:" + app.getPackageName());\r
+ System.out.println(" Version Code:" + app.getVersionCode());\r
+ System.out.println(" Version:" + app.getVersion());\r
}\r
}\r
-\r
};\r
- session.append(appsRequest, callback);\r
- session.flush();\r
+\r
+ for(String pkg : apps) {\r
+ System.out.println("Checking: " + pkg);\r
+ AppsRequest appsRequest = AppsRequest.newBuilder()\r
+ .setQuery("pname:" + pkg)\r
+ .setStartIndex(0).setEntriesCount(10)\r
+ .setWithExtendedInfo(true)\r
+ .build();\r
+ session.append(appsRequest, callback);\r
+ session.flush();\r
+\r
+ // Pause to avoid rate limit...\r
+ Thread.sleep(5000);\r
+ }\r
+\r
} catch(Exception ex) {\r
ex.printStackTrace();\r
}\r