diff --git a/app/screens/main.js b/app/screens/main.js index 667ae99..fe86962 100644 --- a/app/screens/main.js +++ b/app/screens/main.js @@ -7,7 +7,8 @@ import { Dimensions, View, Text, - DrawerLayoutAndroid + DrawerLayoutAndroid, + AsyncStorage } from 'react-native'; import { Actions @@ -32,14 +33,43 @@ export default class Main extends Component { constructor(props) { super(props); - var avatarRandom = Math.floor(Math.random() * allAvatarLinks.length); - this.state = { position: { long: props.long, lat: props.lat - }, - avatar: avatarRandom + } + } + } + + componentWillMount() { + this.retrieveAvatar(); + } + + retrieveAvatar = async () => { + try { + const value = await AsyncStorage.getItem('avatar'); + if (value !== null) { + // We have data!! + console.log("Have avatar: " + value); + } else { + this.storeAvatar(Math.floor(Math.random() * allAvatarLinks.length).toString()); + } + + this.setState({ + avatar: parseInt(value) + }); + } catch (error) { + // Error retrieving data + console.log(error); + } + } + + storeAvatar = async (link) => { + try { + await AsyncStorage.setItem('avatar', link); + } catch (error) { + // Error saving data + console.log(error); } } diff --git a/app/screens/main/chat.js b/app/screens/main/chat.js index b712549..20a1c94 100644 --- a/app/screens/main/chat.js +++ b/app/screens/main/chat.js @@ -41,7 +41,7 @@ export default class Chat extends Component { messagesDOM: [], prevMessageUser: null, userId: null, - + avatar: null }; /** * todo fix AsyncStorage @@ -50,9 +50,9 @@ export default class Chat extends Component { console.log(props); } - storeUserId = async (id) => { + storeUserId = async (location, item) => { try { - await AsyncStorage.setItem('userId', id.toString()); + await AsyncStorage.setItem(location, item); } catch (error) { // Error saving data console.log(error); @@ -72,7 +72,7 @@ export default class Chat extends Component { this.socket.emit('userId', {user_id: value, newUser: true, position: this.props.position, avatar: this.props.avatar}); this.socket.on('getNewUserId', (result) => { console.log('New id: ' + result.user_id); - this.storeUserId(result.user_id); + this.storeUserId('userId', result.user_id.toString()); id = result.user_id; }); }