~ubuntu-branches/ubuntu/vivid/gluegen2/vivid-proposed

« back to all changes in this revision

Viewing changes to src/java/jogamp/common/os/android/PackageInfoUtil.java

  • Committer: Package Import Robot
  • Author(s): Sylvestre Ledru
  • Date: 2011-12-26 01:18:19 UTC
  • mfrom: (1.2.1) (9.1.8 sid)
  • Revision ID: package-import@ubuntu.com-20111226011819-tkt9ndkn621bim5v
Tags: 2.0-rc5-1~exp1
* New upstream release
* watch now possible and integrated

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/**
 
2
 * Copyright 2011 JogAmp Community. All rights reserved.
 
3
 *
 
4
 * Redistribution and use in source and binary forms, with or without modification, are
 
5
 * permitted provided that the following conditions are met:
 
6
 * 
 
7
 *    1. Redistributions of source code must retain the above copyright notice, this list of
 
8
 *       conditions and the following disclaimer.
 
9
 * 
 
10
 *    2. Redistributions in binary form must reproduce the above copyright notice, this list
 
11
 *       of conditions and the following disclaimer in the documentation and/or other materials
 
12
 *       provided with the distribution.
 
13
 * 
 
14
 * THIS SOFTWARE IS PROVIDED BY JogAmp Community ``AS IS'' AND ANY EXPRESS OR IMPLIED
 
15
 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
 
16
 * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL JogAmp Community OR
 
17
 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
 
18
 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
 
19
 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
 
20
 * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
 
21
 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
 
22
 * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
23
 * 
 
24
 * The views and conclusions contained in the software and documentation are those of the
 
25
 * authors and should not be interpreted as representing official policies, either expressed
 
26
 * or implied, of JogAmp Community.
 
27
 */
 
28
package jogamp.common.os.android;
 
29
 
 
30
import android.content.*;
 
31
import android.content.pm.*;
 
32
import android.util.Log;
 
33
 
 
34
public class PackageInfoUtil {
 
35
   private static boolean DEBUG = false;
 
36
   
 
37
   public static final PackageInfo getPackageInfo(String packageName) {
 
38
       return getPackageInfo(StaticContext.getContext(), packageName);
 
39
   }
 
40
   
 
41
   public static final PackageInfo getPackageInfo(Context ctx, String packageName) {
 
42
       if(null != ctx) {
 
43
           try {
 
44
               final PackageInfo pi = ctx.getPackageManager().getPackageInfo(packageName, PackageManager.GET_META_DATA);
 
45
               if(DEBUG) Log.d(MD.TAG, "getPackageInfo("+packageName+"): "+pi);
 
46
               return pi;
 
47
           } catch (Exception e) { if(DEBUG) { Log.d(MD.TAG, "getPackageInfo("+packageName+")", e); } }
 
48
       }
 
49
       if(DEBUG) Log.d(MD.TAG, "getPackageInfo("+packageName+"): NULL");
 
50
       return null;
 
51
   }
 
52
   
 
53
   public static final int getPackageInfoVersionCode(String packageName) {
 
54
       final PackageInfo pInfo = getPackageInfo(packageName);
 
55
       return ( null != pInfo ) ? pInfo.versionCode : -1 ;
 
56
   }   
 
57
   public static final String getPackageInfoVersionName(String packageName) {
 
58
       final PackageInfo pInfo = getPackageInfo(packageName);
 
59
       final String s = ( null != pInfo ) ? pInfo.versionName : null ;
 
60
       if(DEBUG) Log.d(MD.TAG, "getPackageInfoVersionName("+packageName+"): "+s);
 
61
       return s;
 
62
   }   
 
63
}