Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
R
react-native-device-info
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
放牛的园子
react-native-device-info
Commits
818bc6a7
Commit
818bc6a7
authored
Mar 19, 2016
by
Rebecca Hughes
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #30 from mikefowler/master
Add support for device country
parents
033e7370
09cc01de
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
24 additions
and
9 deletions
+24
-9
RNDeviceInfo.m
RNDeviceInfo/RNDeviceInfo.m
+14
-8
RNDeviceModule.java
...c/main/java/com/learnium/RNDeviceInfo/RNDeviceModule.java
+6
-0
deviceinfo.js
deviceinfo.js
+4
-1
No files found.
RNDeviceInfo/RNDeviceInfo.m
View file @
818bc6a7
...
...
@@ -27,9 +27,9 @@ RCT_EXPORT_MODULE()
-
(
NSString
*
)
deviceId
{
struct
utsname
systemInfo
;
uname
(
&
systemInfo
);
return
[
NSString
stringWithCString
:
systemInfo
.
machine
encoding
:
NSUTF8StringEncoding
];
}
...
...
@@ -37,9 +37,9 @@ RCT_EXPORT_MODULE()
-
(
NSString
*
)
deviceName
{
static
NSDictionary
*
deviceNamesByCode
=
nil
;
if
(
!
deviceNamesByCode
)
{
deviceNamesByCode
=
@{
@"i386"
:
@"Simulator"
,
@"x86_64"
:
@"Simulator"
,
@"iPod1,1"
:
@"iPod Touch"
,
// (Original)
...
...
@@ -100,12 +100,12 @@ RCT_EXPORT_MODULE()
@"AppleTV5,3"
:
@"Apple TV"
,
// Apple TV (4th Generation)
};
}
NSString
*
deviceName
=
[
deviceNamesByCode
objectForKey
:
self
.
deviceId
];
if
(
!
deviceName
)
{
// Not found on database. At least guess main device type from string contents:
if
([
self
.
deviceId
rangeOfString
:
@"iPod"
].
location
!=
NSNotFound
)
{
deviceName
=
@"iPod Touch"
;
}
...
...
@@ -132,6 +132,12 @@ RCT_EXPORT_MODULE()
return
language
;
}
-
(
NSString
*
)
deviceCountry
{
NSString
*
country
=
[[
NSLocale
currentLocale
]
objectForKey
:
NSLocaleCountryCode
];
return
country
;
}
-
(
NSDictionary
*
)
constantsToExport
{
UIDevice
*
currentDevice
=
[
UIDevice
currentDevice
];
...
...
@@ -146,6 +152,7 @@ RCT_EXPORT_MODULE()
@"deviceId"
:
self
.
deviceId
,
@"deviceName"
:
currentDevice
.
name
,
@"deviceLocale"
:
self
.
deviceLocale
,
@"deviceCountry"
:
self
.
deviceCountry
,
@"uniqueId"
:
uniqueId
,
@"bundleId"
:
[[
NSBundle
mainBundle
]
objectForInfoDictionaryKey
:
@"CFBundleIdentifier"
],
@"appVersion"
:
[[
NSBundle
mainBundle
]
objectForInfoDictionaryKey
:
@"CFBundleShortVersionString"
],
...
...
@@ -156,4 +163,3 @@ RCT_EXPORT_MODULE()
}
@end
android/src/main/java/com/learnium/RNDeviceInfo/RNDeviceModule.java
View file @
818bc6a7
...
...
@@ -44,6 +44,11 @@ public class RNDeviceModule extends ReactContextBaseJavaModule {
}
}
private
String
getCurrentCountry
()
{
Locale
current
=
getReactApplicationContext
().
getResources
().
getConfiguration
().
locale
;
return
current
.
getCountry
();
}
@Override
public
@Nullable
Map
<
String
,
Object
>
getConstants
()
{
HashMap
<
String
,
Object
>
constants
=
new
HashMap
<
String
,
Object
>();
...
...
@@ -77,6 +82,7 @@ public class RNDeviceModule extends ReactContextBaseJavaModule {
constants
.
put
(
"model"
,
Build
.
MODEL
);
constants
.
put
(
"deviceId"
,
Build
.
BOARD
);
constants
.
put
(
"deviceLocale"
,
this
.
getCurrentLanguage
());
constants
.
put
(
"deviceCountry"
,
this
.
getCurrentCountry
());
constants
.
put
(
"uniqueId"
,
Secure
.
getString
(
this
.
reactContext
.
getContentResolver
(),
Secure
.
ANDROID_ID
));
constants
.
put
(
"systemManufacturer"
,
Build
.
MANUFACTURER
);
constants
.
put
(
"bundleId"
,
packageName
);
...
...
deviceinfo.js
View file @
818bc6a7
...
...
@@ -43,5 +43,8 @@ module.exports = {
},
getDeviceLocale
:
function
()
{
return
RNDeviceInfo
.
deviceLocale
;
}
},
getDeviceCountry
:
function
()
{
return
RNDeviceInfo
.
deviceCountry
;
},
};
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment