+++ /dev/null
-/* \r
- * Copyright (C) 2007-2009 OpenIntents.org\r
- *\r
- * Licensed under the Apache License, Version 2.0 (the "License");\r
- * you may not use this file except in compliance with the License.\r
- * You may obtain a copy of the License at\r
- *\r
- * http://www.apache.org/licenses/LICENSE-2.0\r
- *\r
- * Unless required by applicable law or agreed to in writing, software\r
- * distributed under the License is distributed on an "AS IS" BASIS,\r
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
- * See the License for the specific language governing permissions and\r
- * limitations under the License.\r
- */\r
-\r
-package org.openintents.util;\r
-\r
-import android.content.Context;\r
-import android.content.pm.PackageInfo;\r
-import android.content.pm.PackageManager;\r
-import android.content.pm.PackageManager.NameNotFoundException;\r
-import android.os.Build;\r
-import android.util.Log;\r
-\r
-/**\r
- * \r
- * @version 2011-01-22\r
- * @author Peli\r
- *\r
- */\r
-public class VersionUtils {\r
- \r
- private static final String TAG = "VersionUtils";\r
-\r
- /**\r
- * Get current version code.\r
- * \r
- * @return\r
- */\r
- public static int getVersionCode(Context context) {\r
- int version = 0;\r
- try {\r
- PackageInfo pi = context.getPackageManager().getPackageInfo(context.getPackageName(), 0);\r
- version = pi.versionCode;\r
- } catch (PackageManager.NameNotFoundException e) {\r
- Log.e(TAG, "Package name not found", e);\r
- };\r
- return version;\r
- }\r
- \r
- /**\r
- * Get current version number.\r
- * \r
- * @return\r
- */\r
- public static String getVersionNumber(Context context) {\r
- String version = "?";\r
- try {\r
- PackageInfo pi = context.getPackageManager().getPackageInfo(context.getPackageName(), 0);\r
- version = pi.versionName;\r
- } catch (PackageManager.NameNotFoundException e) {\r
- Log.e(TAG, "Package name not found", e);\r
- };\r
- return version;\r
- }\r
- \r
- /**\r
- * Get application name.\r
- * \r
- * Since API level 4 this routine could be replaced by\r
- * appname = getString(getApplicationInfo().labelRes);\r
- * \r
- * @return\r
- */\r
- public static String getApplicationName(Context context) {\r
- String name = "?";\r
- try {\r
- PackageInfo pi = context.getPackageManager().getPackageInfo(context.getPackageName(), 0);\r
- name = context.getString(pi.applicationInfo.labelRes);\r
- } catch (PackageManager.NameNotFoundException e) {\r
- Log.e(TAG, "Package name not found", e);\r
- };\r
- return name;\r
- }\r
-\r
- /**\r
- * Get application icon.\r
- * \r
- * Since API level 4 this routine could be replaced by\r
- * icon = getApplicationInfo().icon;\r
- * \r
- * @return\r
- */\r
- public static int getApplicationIcon(Context context) {\r
- int icon = 0;\r
- try {\r
- PackageInfo pi = context.getPackageManager().getPackageInfo(context.getPackageName(), 0);\r
- icon = pi.applicationInfo.icon;\r
- } catch (PackageManager.NameNotFoundException e) {\r
- Log.e(TAG, "Package name not found", e);\r
- };\r
- return icon;\r
- }\r
-\r
- /**\r
- * Indicates whether a specific package with minimum version code is available.\r
- */\r
- public static boolean isPackageAvailable(final Context context, final String packageName,\r
- final int minVersionCode) {\r
- boolean result = false;\r
- try {\r
- PackageInfo pi = context.getPackageManager().getPackageInfo(\r
- packageName, 0);\r
- if (pi.versionCode >= minVersionCode) {\r
- result = true;\r
- }\r
- } catch (PackageManager.NameNotFoundException e) {\r
- \r
- }\r
- return result;\r
- }\r
-}\r