UNPKG

crn-cli

Version:

The Ctrip React Native CLI Tools

1 lines 2.62 kB
__d(function(g,r,i,a,m,e,d){'use strict';var t=r(d[0]),s=r(d[1]),n=r(d[2]),o=r(d[3]),c=r(d[4]),l=r(d[5]),u=r(d[6]),h=r(d[7]),E=h.PermissionsAndroid,S=h.Picker,p=h.StyleSheet,P=h.Text,A=h.TouchableWithoutFeedback,f=h.View,I=S.Item,x=(function(h){function p(){var n,l;s(this,p);for(var u=arguments.length,h=new Array(u),S=0;S<u;S++)h[S]=arguments[S];return(l=o(this,(n=c(p)).call.apply(n,[this].concat(h)))).state={permission:E.PERMISSIONS.CAMERA,hasPermission:'Not Checked'},l._onSelectPermission=function(t){l.setState({permission:t})},l._checkPermission=function(){var s;return t.async(function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,t.awrap(E.check(l.state.permission));case 2:s=n.sent,l.setState({hasPermission:(s?'Granted':'Revoked')+' for '+l.state.permission});case 4:case"end":return n.stop()}})},l._requestPermission=function(){var s;return t.async(function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,t.awrap(E.request(l.state.permission,{title:'Permission Explanation',message:'The app needs the following permission '+l.state.permission+' because of reasons. Please approve.'}));case 2:s=n.sent,l.setState({hasPermission:s+' for '+l.state.permission});case 4:case"end":return n.stop()}})},l}return l(p,h),n(p,[{key:"render",value:function(){return u.createElement(f,{style:R.container},u.createElement(P,{style:R.text},"Permission Name:"),u.createElement(S,{style:R.picker,selectedValue:this.state.permission,onValueChange:this._onSelectPermission.bind(this)},u.createElement(I,{label:E.PERMISSIONS.CAMERA,value:E.PERMISSIONS.CAMERA}),u.createElement(I,{label:E.PERMISSIONS.READ_CALENDAR,value:E.PERMISSIONS.READ_CALENDAR}),u.createElement(I,{label:E.PERMISSIONS.ACCESS_FINE_LOCATION,value:E.PERMISSIONS.ACCESS_FINE_LOCATION})),u.createElement(A,{onPress:this._checkPermission},u.createElement(f,null,u.createElement(P,{style:[R.touchable,R.text]},"Check Permission"))),u.createElement(P,{style:R.text},"Permission Status: ",this.state.hasPermission),u.createElement(A,{onPress:this._requestPermission},u.createElement(f,null,u.createElement(P,{style:[R.touchable,R.text]},"Request Permission"))))}}]),p})(u.Component);e.displayName=void 0,e.framework='React',e.title='PermissionsAndroid',e.description='Permissions example for API 23+.',e.examples=[{title:'Permissions Example',description:'Short example of how to use the runtime permissions API introduced in Android M.',render:function(){return u.createElement(x,null)}}];var R=p.create({container:{flex:1,backgroundColor:'white'},text:{margin:10},touchable:{color:'#007AFF'},picker:{flex:1}})},666828,[139,3,4,5,8,9,11,15]);