1 package org.opencv.engine;
3 import java.util.ArrayList;
4 import java.util.Iterator;
7 import android.app.Activity;
8 import android.content.Context;
9 import android.content.Intent;
10 import android.content.pm.ApplicationInfo;
11 import android.content.pm.PackageInfo;
12 import android.content.pm.PackageManager;
13 import android.content.pm.PackageManager.NameNotFoundException;
14 import android.net.Uri;
15 import android.util.Log;
17 public class MarketConnector
19 protected static final String OpenCVPackageNamePreffix = "org.opencv.lib";
20 private static final String TAG = "OpenCVEngine/MarketConnector";
21 protected Context mContext;
23 public boolean mIncludeManager = true;
25 public MarketConnector(Context context)
30 public String GetApplicationName(ApplicationInfo info)
32 return (String) info.loadLabel(mContext.getPackageManager());
35 public boolean InstallAppFromMarket(String AppID)
37 boolean result = true;
40 Intent intent = new Intent(
42 Uri.parse("market://details?id=" + AppID)
44 intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
45 mContext.startActivity(intent);
55 public boolean RemoveAppFromMarket(String AppID, boolean wait)
57 boolean result = true;
60 Intent intent = new Intent(
62 Uri.parse("package:" + AppID)
64 intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
67 ((Activity)mContext).startActivityForResult(intent, 0);
71 mContext.startActivity(intent);
83 public boolean CheckPackageInstalled(String AppID)
85 List<PackageInfo> Packages = mContext.getPackageManager().getInstalledPackages(PackageManager.GET_CONFIGURATIONS);
86 Iterator<PackageInfo> it = Packages.iterator();
89 PackageInfo CurrentPack = it.next();
90 if (CurrentPack.packageName == AppID)
99 public PackageInfo[] GetInstalledOpenCVPackages()
101 List<PackageInfo> AllPackages = mContext.getPackageManager().getInstalledPackages(PackageManager.GET_CONFIGURATIONS);
102 List<PackageInfo> OpenCVPackages = new ArrayList<PackageInfo>();
106 OpenCVPackages.add(mContext.getPackageManager().getPackageInfo("org.opencv.engine", PackageManager.GET_CONFIGURATIONS));
107 } catch (NameNotFoundException e) {
108 Log.e(TAG, "OpenCV Manager package info was not found!");
112 Iterator<PackageInfo> it = AllPackages.iterator();
115 PackageInfo CurrentPack = it.next();
116 if (CurrentPack.packageName.contains(OpenCVPackageNamePreffix))
118 OpenCVPackages.add(CurrentPack);
122 PackageInfo[] OpenCVPackagesArray = new PackageInfo[OpenCVPackages.size()];
124 it = OpenCVPackages.iterator();
128 OpenCVPackagesArray[idx] = it.next();
132 return OpenCVPackagesArray;