// @flow import * as React from 'react'; import {Body, Card, CardItem, Container, Content, Left, List, ListItem, Right, Text,} from "native-base"; import CustomHeader from "../components/CustomHeader"; import ThemeManager from '../utils/ThemeManager'; import i18n from "i18n-js"; import CustomMaterialIcon from "../components/CustomMaterialIcon"; import Touchable from "react-native-platform-touchable"; import {Alert, Platform, Clipboard} from "react-native"; import AsyncStorageManager from "../utils/AsyncStorageManager"; import NotificationsManager from "../utils/NotificationsManager"; type Props = { navigation: Object, }; /** * Class defining the Debug screen. This screen allows the user to get detailed information on the app/device. */ export default class DebugScreen extends React.Component { alertCurrentExpoToken() { let token = AsyncStorageManager.getInstance().preferences.expoToken.current; console.log(token); Alert.alert( 'Expo Token', token, [ {text: 'Copy', onPress: () => Clipboard.setString(token)}, {text: 'OK'} ] ); } async forceExpoTokenUpdate() { await NotificationsManager.forceExpoTokenUpdate(); this.alertCurrentExpoToken(); } static getGeneralItem(onPressCallback: Function, icon: string, title: string, subtitle: string) { return ( {title} {subtitle} ); } getRightButton() { return ( this.props.navigation.navigate('AboutScreen')}> ); } render() { const nav = this.props.navigation; return ( Notifications {DebugScreen.getGeneralItem(() => this.alertCurrentExpoToken(), 'bell', 'Get current Expo Token', '')} {DebugScreen.getGeneralItem(() => this.forceExpoTokenUpdate(),'bell-ring', 'Force Expo token update', '')} ); } }