requested changes

This commit is contained in:
GOVINDDIXIT 2020-07-19 10:51:43 +05:30
parent 0bf4716ad8
commit 36595d00d0
10 changed files with 59 additions and 50 deletions

View File

@ -1,5 +1,5 @@
def taskRequests = getGradle().getStartParameter().getTaskRequests().toString() def taskRequests = getGradle().getStartParameter().getTaskRequests().toString().toLowerCase()
def isPlay = !(taskRequests.contains("Foss") || taskRequests.contains("foss")) def isPlay = !taskRequests.contains("foss")
apply plugin: "com.android.application" apply plugin: "com.android.application"
apply plugin: 'kotlin-android' apply plugin: 'kotlin-android'

View File

@ -18,8 +18,9 @@ buildscript {
} }
} }
def taskRequests = getGradle().getStartParameter().getTaskRequests().toString() def taskRequests = getGradle().getStartParameter().getTaskRequests().toString().toLowerCase()
def isPlay = !(taskRequests.contains("Foss") || taskRequests.contains("foss")) def isPlay = !taskRequests.contains("foss")
dependencies { dependencies {
if (isPlay) { if (isPlay) {
classpath 'com.google.gms:google-services:4.2.0' classpath 'com.google.gms:google-services:4.2.0'

View File

@ -0,0 +1,3 @@
import RNConfigReader from 'react-native-config-reader';
export const isGooglePlayBuild = RNConfigReader.PLAY_BUILD;

View File

@ -6,7 +6,6 @@ import RNUserDefaults from 'rn-user-defaults';
import { KeyCommandsEmitter } from 'react-native-keycommands'; import { KeyCommandsEmitter } from 'react-native-keycommands';
import RNScreens from 'react-native-screens'; import RNScreens from 'react-native-screens';
import { SafeAreaProvider, initialWindowMetrics } from 'react-native-safe-area-context'; import { SafeAreaProvider, initialWindowMetrics } from 'react-native-safe-area-context';
import RNConfigReader from 'react-native-config-reader';
import { import {
defaultTheme, defaultTheme,
@ -37,12 +36,11 @@ import Toast from './containers/Toast';
import InAppNotification from './containers/InAppNotification'; import InAppNotification from './containers/InAppNotification';
import { ActionSheetProvider } from './containers/ActionSheet'; import { ActionSheetProvider } from './containers/ActionSheet';
import debounce from './utils/debounce'; import debounce from './utils/debounce';
import { isGooglePlayBuild } from './constants/environment';
RNScreens.enableScreens(); RNScreens.enableScreens();
const isPlayBuild = RNConfigReader.PLAY_BUILD;
const parseDeepLinking = (url) => { const parseDeepLinking = (url) => {
if (url) { if (url) {
url = url.replace(/rocketchat:\/\/|https:\/\/go.rocket.chat\//, ''); url = url.replace(/rocketchat:\/\/|https:\/\/go.rocket.chat\//, '');
@ -61,7 +59,9 @@ export default class Root extends React.Component {
constructor(props) { constructor(props) {
super(props); super(props);
this.init(); this.init();
if (isGooglePlayBuild) {
this.initCrashReport(); this.initCrashReport();
}
const { width, height, scale } = Dimensions.get('window'); const { width, height, scale } = Dimensions.get('window');
this.state = { this.state = {
theme: defaultTheme(), theme: defaultTheme(),
@ -163,10 +163,8 @@ export default class Root extends React.Component {
if (!allowCrashReport) { if (!allowCrashReport) {
loggerConfig.autoNotify = false; loggerConfig.autoNotify = false;
loggerConfig.registerBeforeSendCallback(() => false); loggerConfig.registerBeforeSendCallback(() => false);
if (isPlayBuild) {
analytics().setAnalyticsCollectionEnabled(false); analytics().setAnalyticsCollectionEnabled(false);
} }
}
}); });
} }

View File

@ -1,8 +1,8 @@
import EJSON from 'ejson'; import EJSON from 'ejson';
import RNConfigReader from 'react-native-config-reader';
import PushNotification from './push'; import PushNotification from './push';
import store from '../../lib/createStore'; import store from '../../lib/createStore';
import { deepLinkingOpen } from '../../actions/deepLinking'; import { deepLinkingOpen } from '../../actions/deepLinking';
import { isGooglePlayBuild } from '../../constants/environment';
export const onNotification = (notification) => { export const onNotification = (notification) => {
if (notification) { if (notification) {
@ -37,8 +37,7 @@ export const onNotification = (notification) => {
export const getDeviceToken = () => PushNotification.getDeviceToken(); export const getDeviceToken = () => PushNotification.getDeviceToken();
export const setBadgeCount = count => PushNotification.setBadgeCount(count); export const setBadgeCount = count => PushNotification.setBadgeCount(count);
export const initializePushNotifications = () => { export const initializePushNotifications = () => {
const isPlayBuild = RNConfigReader.PLAY_BUILD; if (isGooglePlayBuild) {
if (isPlayBuild) {
setBadgeCount(); setBadgeCount();
return PushNotification.configure({ return PushNotification.configure({
onNotification onNotification

View File

@ -1,12 +1,14 @@
import { Client } from 'bugsnag-react-native'; import { Client } from 'bugsnag-react-native';
import firebase from 'react-native-firebase'; import firebase from 'react-native-firebase';
import RNConfigReader from 'react-native-config-reader'; import { isGooglePlayBuild } from '../constants/environment';
import config from '../../config'; import config from '../../config';
const isPlayBuild = RNConfigReader.PLAY_BUILD;
const bugsnag = new Client(config.BUGSNAG_API_KEY); const bugsnag = new Client(config.BUGSNAG_API_KEY);
export const { analytics } = firebase != null; export const analytics = isGooglePlayBuild ? firebase.analytics : ({
logEvent: () => { }
});
export const loggerConfig = bugsnag.config; export const loggerConfig = bugsnag.config;
export const { leaveBreadcrumb } = bugsnag; export const { leaveBreadcrumb } = bugsnag;
@ -19,7 +21,7 @@ export const logServerVersion = (serverVersion) => {
}; };
export const setCurrentScreen = (currentScreen) => { export const setCurrentScreen = (currentScreen) => {
if (isPlayBuild) { if (isGooglePlayBuild) {
analytics().setCurrentScreen(currentScreen); analytics().setCurrentScreen(currentScreen);
} }
leaveBreadcrumb(currentScreen, { type: 'navigation' }); leaveBreadcrumb(currentScreen, { type: 'navigation' });

View File

@ -5,6 +5,7 @@ import { isIOS } from './deviceInfo';
import I18n from '../i18n'; import I18n from '../i18n';
import { showErrorAlert } from './info'; import { showErrorAlert } from './info';
import { STORE_REVIEW_LINK } from '../constants/links'; import { STORE_REVIEW_LINK } from '../constants/links';
import { isGooglePlayBuild } from '../constants/environment';
const store = isIOS ? 'App Store' : 'Play Store'; const store = isIOS ? 'App Store' : 'Play Store';
@ -75,7 +76,7 @@ const tryReview = async() => {
// if ask me later was pressed earlier, we can ask for review only after {{numberOfDays}} days // if ask me later was pressed earlier, we can ask for review only after {{numberOfDays}} days
// if there's no review and it wasn't dismissed by the user // if there's no review and it wasn't dismissed by the user
if (daysBetween(lastReviewDate, new Date()) >= numberOfDays && !doneReview) { if (daysBetween(lastReviewDate, new Date()) >= numberOfDays && !doneReview && isGooglePlayBuild) {
setTimeout(askReview, reviewDelay); setTimeout(askReview, reviewDelay);
} }
}; };

View File

@ -5,7 +5,6 @@ import {
} from 'react-native'; } from 'react-native';
import { connect } from 'react-redux'; import { connect } from 'react-redux';
import equal from 'deep-equal'; import equal from 'deep-equal';
import RNConfigReader from 'react-native-config-reader';
import { analytics } from '../utils/log'; import { analytics } from '../utils/log';
import sharedStyles from './Styles'; import sharedStyles from './Styles';
@ -18,8 +17,7 @@ import FormContainer, { FormContainerInner } from '../containers/FormContainer';
import TextInput from '../containers/TextInput'; import TextInput from '../containers/TextInput';
import { loginRequest as loginRequestAction } from '../actions/login'; import { loginRequest as loginRequestAction } from '../actions/login';
import LoginServices from '../containers/LoginServices'; import LoginServices from '../containers/LoginServices';
import { isGooglePlayBuild } from '../constants/environment';
const configValue = RNConfigReader.PLAY_BUILD;
const styles = StyleSheet.create({ const styles = StyleSheet.create({
registerDisabled: { registerDisabled: {
@ -124,7 +122,7 @@ class LoginView extends React.Component {
const { loginRequest } = this.props; const { loginRequest } = this.props;
Keyboard.dismiss(); Keyboard.dismiss();
loginRequest({ user, password }); loginRequest({ user, password });
if (configValue) { if (isGooglePlayBuild) {
analytics().logEvent('login'); analytics().logEvent('login');
} }
} }

View File

@ -5,7 +5,6 @@ import {
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
import { connect } from 'react-redux'; import { connect } from 'react-redux';
import AsyncStorage from '@react-native-community/async-storage'; import AsyncStorage from '@react-native-community/async-storage';
import RNConfigReader from 'react-native-config-reader';
import { logout as logoutAction } from '../../actions/login'; import { logout as logoutAction } from '../../actions/login';
import { selectServerRequest as selectServerRequestAction } from '../../actions/server'; import { selectServerRequest as selectServerRequestAction } from '../../actions/server';
@ -36,8 +35,8 @@ import { appStart as appStartAction, ROOT_LOADING } from '../../actions/app';
import { onReviewPress } from '../../utils/review'; import { onReviewPress } from '../../utils/review';
import { getUserSelector } from '../../selectors/login'; import { getUserSelector } from '../../selectors/login';
import SafeAreaView from '../../containers/SafeAreaView'; import SafeAreaView from '../../containers/SafeAreaView';
import { isGooglePlayBuild } from '../../constants/environment';
const isPlayBuild = RNConfigReader.PLAY_BUILD;
const SectionSeparator = React.memo(({ theme }) => ( const SectionSeparator = React.memo(({ theme }) => (
<View <View
@ -118,7 +117,7 @@ class SettingsView extends React.Component {
const { toggleCrashReport } = this.props; const { toggleCrashReport } = this.props;
toggleCrashReport(value); toggleCrashReport(value);
loggerConfig.autoNotify = value; loggerConfig.autoNotify = value;
if (isPlayBuild) { if (isGooglePlayBuild) {
analytics().setAnalyticsCollectionEnabled(value); analytics().setAnalyticsCollectionEnabled(value);
} }
@ -253,6 +252,8 @@ class SettingsView extends React.Component {
theme={theme} theme={theme}
/> />
<Separator theme={theme} /> <Separator theme={theme} />
{isGooglePlayBuild ? (
<>
<ListItem <ListItem
title={I18n.t('Review_this_app')} title={I18n.t('Review_this_app')}
showActionIndicator showActionIndicator
@ -261,6 +262,8 @@ class SettingsView extends React.Component {
right={this.renderDisclosure} right={this.renderDisclosure}
theme={theme} theme={theme}
/> />
</>
) : null}
<Separator theme={theme} /> <Separator theme={theme} />
<ListItem <ListItem
title={I18n.t('Share_this_app')} title={I18n.t('Share_this_app')}
@ -339,6 +342,8 @@ class SettingsView extends React.Component {
</> </>
) : null} ) : null}
{isGooglePlayBuild ? (
<>
<ListItem <ListItem
title={I18n.t('Send_crash_report')} title={I18n.t('Send_crash_report')}
testID='settings-view-crash-report' testID='settings-view-crash-report'
@ -350,6 +355,8 @@ class SettingsView extends React.Component {
info={I18n.t('Crash_report_disclaimer')} info={I18n.t('Crash_report_disclaimer')}
theme={theme} theme={theme}
/> />
</>
) : null}
<Separator theme={theme} /> <Separator theme={theme} />
<ListItem <ListItem