...
 
Commits (4)
......@@ -162,11 +162,11 @@ android {
}
dependencies {
implementation project(':rn-apk')
implementation project(':react-native-localize')
implementation project(':react-native-webview')
implementation project(':@react-native-community_async-storage')
implementation project(':react-native-gesture-handler')
implementation project(':react-native-apk')
implementation project(':react-native-cookies')
compile project(':react-native-exit-app')
compile project(':react-native-background-timer')
......
......@@ -3,11 +3,11 @@ package com.minds.mobile;
import android.app.Application;
import com.facebook.react.ReactApplication;
import be.skyzohlabs.rnapk.ReactNativeAPKPackage;
import com.reactcommunity.rnlocalize.RNLocalizePackage;
import com.reactnativecommunity.webview.RNCWebViewPackage;
import com.reactnativecommunity.asyncstorage.AsyncStoragePackage;
import com.swmansion.gesturehandler.react.RNGestureHandlerPackage;
import be.skyzohlabs.rnapk.ReactNativeAPKPackage;
import com.psykar.cookiemanager.CookieManagerPackage;
import com.github.wumke.RNExitApp.RNExitAppPackage;
import com.peel.react.TcpSocketsModule;
......@@ -58,11 +58,11 @@ public class MainApplication extends Application implements ShareApplication, Re
protected List<ReactPackage> getPackages() {
return Arrays.<ReactPackage>asList(
new MainReactPackage(),
new ReactNativeAPKPackage(),
new RNLocalizePackage(),
new RNCWebViewPackage(),
new AsyncStoragePackage(),
new RNGestureHandlerPackage(),
new ReactNativeAPKPackage(),
new CookieManagerPackage(),
new RNExitAppPackage(),
new TcpSocketsModule(),
......
rootProject.name = 'Minds'
include ':rn-apk'
project(':rn-apk').projectDir = new File(rootProject.projectDir, '../node_modules/rn-apk/android')
include ':react-native-localize'
project(':react-native-localize').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-localize/android')
include ':react-native-webview'
......@@ -10,8 +12,6 @@ project(':react-native-gesture-handler').projectDir = new File(rootProject.proje
include ':react-native-sqlite-storage'
project(':react-native-sqlite-storage').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-sqlite-storage/src/android')
include ':react-native-apk'
project(':react-native-apk').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-apk/android')
include ':react-native-cookies'
project(':react-native-cookies').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-cookies/android')
include ':react-native-exit-app'
......
......@@ -714,5 +714,8 @@
"errorMediaDisplay":"There was an error displaying this media",
"stacktraceCopied":"Stack trace copied to the clipboard.",
"errorPinnedPost":"Ooops, error setting pinned post",
"errorShowActivity":"Can't show this activity"
"errorShowActivity":"Can't show this activity",
"wantToUpdate":"Do you want to update the app?",
"updateAvailable":"Update available",
"rememberTomorrow":"Remember me later"
}
\ No newline at end of file
......@@ -157,7 +157,7 @@
"nothingToPost": "Nada para postear...",
"share": "COMPARTIR",
"lock": "CERRADO POR WIRE",
"tokens": "MONEDAS",
"tokens": "TOKENS",
"gallery": "Galleria",
"photo": "Foto",
"video": "Video",
......@@ -735,5 +735,8 @@
"errorMediaDisplay": "Hubo un error mostrando este medio",
"stacktraceCopied": "Traza copiada al portapapeles",
"errorPinnedPost": "Ups, error fijando la publicación",
"errorShowActivity": "No puedo mostrar esta actividad"
"errorShowActivity": "No puedo mostrar esta actividad",
"wantToUpdate": "Quieres actualizar la aplicación? ",
"updateAvailable": "Actualización disponible",
"rememberTomorrow": "Recuerdame más tarde"
}
\ No newline at end of file
import ReactNativeAPK from "react-native-apk";
import ReactNativeAPK from "rn-apk";
import {
Alert,
} from 'react-native';
import RNFS from 'react-native-fs';
import api from "./api.service";
import moment from 'moment-timezone';
import { Version } from "../../config/Version";
import { action, observable } from "mobx";
import navigationService from "../../navigation/NavigationService";
import logService from "./log.service";
import i18n from "./i18n.service";
import storageService from "./storage.service";
/**
* Update service
......@@ -17,6 +20,22 @@ class UpdateService {
@observable progress = 0;
@observable downloading = false;
/**
* Check if it has to ignore the update
*/
async rememberTomorrow() {
try {
const ignoreDate = await storageService.getItem('@mindsUpdateDate');
if (ignoreDate) {
const now = moment();
if (ignoreDate === now.format('YYYY-MM-DD')) return true;
return false;
}
} catch (e) {
console.log(e);
}
}
/**
* Check and update
*/
......@@ -30,12 +49,19 @@ class UpdateService {
if (last) {
try {
if (this.needUpdate(Version.VERSION, last.version)) {
if (await this.rememberTomorrow()) return;
Alert.alert(
'Update available v'+last.version,
`Do you want to update the app?`,
i18n.t('updateAvailable') + ' v' + last.version,
i18n.t('wantToUpdate'),
[
{ text: 'No', style: 'cancel' },
{ text: 'Yes', onPress: () => {
{ text: i18n.t('no'), style: 'cancel' },
{ text: i18n.t('rememberTomorrow'), onPress: () => {
storageService.setItem('@mindsUpdateDate', moment().format('YYYY-MM-DD'));
}
},
{ text: i18n.t('yes'), onPress: () => {
// goto update screen
navigationService.reset('Update');
this.version = last.version;
......
......@@ -7093,11 +7093,6 @@ react-native-animatable@^1.2.4, react-native-animatable@^1.3.0:
dependencies:
prop-types "^15.5.10"
react-native-apk@^0.2.7:
version "0.2.7"
resolved "https://registry.yarnpkg.com/react-native-apk/-/react-native-apk-0.2.7.tgz#860ebde201771ef7d13d12cdd8d8b1ff6854102f"
integrity sha512-mp/gyWn5nm2zS6LiKTeJAfwpIK8w3JK0GL0vQ23Fs6gjtgZvQ67WMYWmU8UhSH/kBO30Z01A80Th/tig7ZAlgQ==
react-native-background-timer@^2.1.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/react-native-background-timer/-/react-native-background-timer-2.1.1.tgz#9a2489681ab2f8033c213c73272e9d4c47572cd5"
......@@ -7903,6 +7898,11 @@ rlp@2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/rlp/-/rlp-2.0.0.tgz#9db384ff4b89a8f61563d92395d8625b18f3afb0"
rn-apk@^0.2.9:
version "0.2.9"
resolved "https://registry.yarnpkg.com/rn-apk/-/rn-apk-0.2.9.tgz#6aec783dd64cdf6074b0a590cc51261999351b79"
integrity sha512-JcqO9raQWdjQAaRKjz6OFdE6G4GzZnqhqMLRyKHQ9WBaYFzhNpzujTyTr0T9cngvMJ1JOmHfxG1U8DFHf7QU3A==
rn-host-detect@^1.1.3:
version "1.1.5"
resolved "https://registry.yarnpkg.com/rn-host-detect/-/rn-host-detect-1.1.5.tgz#fbecb982b73932f34529e97932b9a63e58d8deb6"
......