parent
e037b3345a
commit
672e8255c4
|
@ -23,6 +23,7 @@ import java.io.FileInputStream;
|
||||||
import java.io.OutputStream;
|
import java.io.OutputStream;
|
||||||
import java.io.FileOutputStream;
|
import java.io.FileOutputStream;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
import java.util.Map;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
import java.util.concurrent.ExecutorService;
|
import java.util.concurrent.ExecutorService;
|
||||||
import java.util.concurrent.Executors;
|
import java.util.concurrent.Executors;
|
||||||
|
@ -31,6 +32,8 @@ import org.json.JSONObject;
|
||||||
import org.json.JSONException;
|
import org.json.JSONException;
|
||||||
import com.instabug.library.Instabug;
|
import com.instabug.library.Instabug;
|
||||||
|
|
||||||
|
import javax.annotation.Nullable;
|
||||||
|
|
||||||
class StatusModule extends ReactContextBaseJavaModule implements LifecycleEventListener, ConnectorHandler {
|
class StatusModule extends ReactContextBaseJavaModule implements LifecycleEventListener, ConnectorHandler {
|
||||||
|
|
||||||
private static final String TAG = "StatusModule";
|
private static final String TAG = "StatusModule";
|
||||||
|
@ -43,6 +46,7 @@ class StatusModule extends ReactContextBaseJavaModule implements LifecycleEventL
|
||||||
private boolean debug;
|
private boolean debug;
|
||||||
private boolean devCluster;
|
private boolean devCluster;
|
||||||
private String logLevel;
|
private String logLevel;
|
||||||
|
private ReactApplicationContext reactContext;
|
||||||
|
|
||||||
StatusModule(ReactApplicationContext reactContext, boolean debug, boolean devCluster, String logLevel) {
|
StatusModule(ReactApplicationContext reactContext, boolean debug, boolean devCluster, String logLevel) {
|
||||||
super(reactContext);
|
super(reactContext);
|
||||||
|
@ -52,6 +56,7 @@ class StatusModule extends ReactContextBaseJavaModule implements LifecycleEventL
|
||||||
this.debug = debug;
|
this.debug = debug;
|
||||||
this.devCluster = devCluster;
|
this.devCluster = devCluster;
|
||||||
this.logLevel = logLevel;
|
this.logLevel = logLevel;
|
||||||
|
this.reactContext = reactContext;
|
||||||
reactContext.addLifecycleEventListener(this);
|
reactContext.addLifecycleEventListener(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -722,4 +727,17 @@ class StatusModule extends ReactContextBaseJavaModule implements LifecycleEventL
|
||||||
}
|
}
|
||||||
callback.invoke(uniqueID);
|
callback.invoke(uniqueID);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private Boolean is24Hour() {
|
||||||
|
return android.text.format.DateFormat.is24HourFormat(this.reactContext.getApplicationContext());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public @Nullable
|
||||||
|
Map<String, Object> getConstants() {
|
||||||
|
HashMap<String, Object> constants = new HashMap<String, Object>();
|
||||||
|
|
||||||
|
constants.put("is24Hour", this.is24Hour());
|
||||||
|
return constants;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -398,4 +398,17 @@ RCT_EXPORT_METHOD(getDeviceUUID:(RCTResponseSenderBlock)callback) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
- (bool) is24Hour
|
||||||
|
{
|
||||||
|
NSString *format = [NSDateFormatter dateFormatFromTemplate:@"j" options:0 locale:[NSLocale currentLocale]];
|
||||||
|
return ([format rangeOfString:@"a"].location == NSNotFound);
|
||||||
|
}
|
||||||
|
|
||||||
|
- (NSDictionary *)constantsToExport
|
||||||
|
{
|
||||||
|
return @{
|
||||||
|
@"is24Hour": @(self.is24Hour),
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|
|
@ -65,3 +65,6 @@
|
||||||
|
|
||||||
(defn get-device-UUID [callback]
|
(defn get-device-UUID [callback]
|
||||||
(native-module/get-device-UUID callback))
|
(native-module/get-device-UUID callback))
|
||||||
|
|
||||||
|
(defn is24Hour []
|
||||||
|
(native-module/is24Hour))
|
||||||
|
|
|
@ -154,3 +154,7 @@
|
||||||
status
|
status
|
||||||
(fn [UUID]
|
(fn [UUID]
|
||||||
(callback (string/upper-case UUID))))))
|
(callback (string/upper-case UUID))))))
|
||||||
|
|
||||||
|
(defn is24Hour []
|
||||||
|
(when status
|
||||||
|
(.-is24Hour status)))
|
|
@ -5,6 +5,7 @@
|
||||||
formatter
|
formatter
|
||||||
unparse]]
|
unparse]]
|
||||||
[status-im.i18n :refer [label label-pluralize]]
|
[status-im.i18n :refer [label label-pluralize]]
|
||||||
|
[status-im.native-module.core :as status]
|
||||||
[goog.string :as gstring]
|
[goog.string :as gstring]
|
||||||
goog.string.format
|
goog.string.format
|
||||||
goog.i18n.DateTimeFormat
|
goog.i18n.DateTimeFormat
|
||||||
|
@ -39,16 +40,11 @@
|
||||||
"a")))
|
"a")))
|
||||||
|
|
||||||
;; returns is24Hour from device or from given locale symbols
|
;; returns is24Hour from device or from given locale symbols
|
||||||
;; when device-info module is not available (ie. desktop) returns from the given locale
|
;; whenever we get non-nil value use it, else calculate it from the given locale symbol
|
||||||
;
|
|
||||||
; TODO integrate with native module. example:
|
|
||||||
; (defn- is24Hour [locsym]
|
|
||||||
; (if rn/device-info
|
|
||||||
; (.is24Hour rn/device-info)
|
|
||||||
; (is24Hour-locsym locsym)))
|
|
||||||
|
|
||||||
(defn- is24Hour [locsym]
|
(defn- is24Hour [locsym]
|
||||||
(is24Hour-locsym locsym))
|
(if-some [fromdev (status/is24Hour)]
|
||||||
|
fromdev
|
||||||
|
(is24Hour-locsym locsym)))
|
||||||
|
|
||||||
;; time formats
|
;; time formats
|
||||||
(defn- short-time-format [locsym] (if (is24Hour locsym) "HH:mm" "h:mm a"))
|
(defn- short-time-format [locsym] (if (is24Hour locsym) "HH:mm" "h:mm a"))
|
||||||
|
|
Loading…
Reference in New Issue