Skip to content

Commit a1e47aa

Browse files
author
alvaromb
committed
Android version
Update package name Right imports Controlled exception Right build version code Right package name
1 parent 116f32c commit a1e47aa

File tree

5 files changed

+105
-1
lines changed

5 files changed

+105
-1
lines changed

Diff for: .gitignore

-1
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,6 @@ buck-out
4040
.gradle
4141
local.properties
4242
*.iml
43-
/android/
4443

4544
# Node
4645
node_modules

Diff for: android/build.gradle

+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
2+
apply plugin: 'com.android.library'
3+
4+
android {
5+
compileSdkVersion 23
6+
buildToolsVersion "23.0.1"
7+
8+
defaultConfig {
9+
minSdkVersion 16
10+
targetSdkVersion 22
11+
versionCode 1
12+
versionName "1.0"
13+
ndk {
14+
abiFilters "armeabi-v7a", "x86"
15+
}
16+
}
17+
lintOptions {
18+
warning 'InvalidPackage'
19+
}
20+
}
21+
22+
dependencies {
23+
compile 'com.facebook.react:react-native:0.20.+'
24+
}
25+

Diff for: android/src/main/AndroidManifest.xml

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
2+
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
3+
package="com.apsl.versionnumber">
4+
5+
</manifest>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
2+
package com.apsl.versionnumber;
3+
4+
import com.facebook.react.bridge.ReactApplicationContext;
5+
import com.facebook.react.bridge.ReactContextBaseJavaModule;
6+
import com.facebook.react.bridge.ReactMethod;
7+
import com.facebook.react.bridge.Callback;
8+
9+
import android.content.pm.ApplicationInfo;
10+
import android.content.pm.PackageManager.NameNotFoundException;
11+
import android.content.pm.PackageManager;
12+
13+
import java.util.HashMap;
14+
import java.util.Map;
15+
16+
public class RNVersionNumberModule extends ReactContextBaseJavaModule {
17+
18+
private final ReactApplicationContext reactContext;
19+
20+
private static final String APP_VERSION = "appVersion";
21+
private static final String APP_BUILD = "buildVersion";
22+
23+
public RNVersionNumberModule(ReactApplicationContext reactContext) {
24+
super(reactContext);
25+
this.reactContext = reactContext;
26+
}
27+
28+
@Override
29+
public String getName() {
30+
return "RNVersionNumber";
31+
}
32+
33+
@Override
34+
public Map<String, Object> getConstants() {
35+
final Map<String, Object> constants = new HashMap<>();
36+
final PackageManager packageManager = this.reactContext.getPackageManager();
37+
final String packageName = this.reactContext.getPackageName();
38+
try {
39+
constants.put(APP_VERSION, packageManager.getPackageInfo(packageName, 0).versionName);
40+
constants.put(APP_BUILD, packageManager.getPackageInfo(packageName, 0).versionCode);
41+
} catch (NameNotFoundException e) {
42+
e.printStackTrace();
43+
}
44+
return constants;
45+
}
46+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
2+
package com.apsl.versionnumber;
3+
4+
import java.util.Arrays;
5+
import java.util.Collections;
6+
import java.util.List;
7+
8+
import com.facebook.react.ReactPackage;
9+
import com.facebook.react.bridge.NativeModule;
10+
import com.facebook.react.bridge.ReactApplicationContext;
11+
import com.facebook.react.uimanager.ViewManager;
12+
import com.facebook.react.bridge.JavaScriptModule;
13+
14+
public class RNVersionNumberPackage implements ReactPackage {
15+
@Override
16+
public List<NativeModule> createNativeModules(ReactApplicationContext reactContext) {
17+
return Arrays.<NativeModule>asList(new RNVersionNumberModule(reactContext));
18+
}
19+
20+
@Override
21+
public List<Class<? extends JavaScriptModule>> createJSModules() {
22+
return Collections.emptyList();
23+
}
24+
25+
@Override
26+
public List<ViewManager> createViewManagers(ReactApplicationContext reactContext) {
27+
return Collections.emptyList();
28+
}
29+
}

0 commit comments

Comments
 (0)