├── .babelrc ├── .flowconfig ├── .gitignore ├── .watchmanconfig ├── App.js ├── App.test.js ├── README.md ├── android ├── FM Global.pdf ├── Radio India.pdf ├── app │ ├── BUCK │ ├── build.gradle │ ├── proguard-rules.pro │ └── src │ │ └── main │ │ ├── AndroidManifest.xml │ │ ├── assets │ │ └── fonts │ │ │ ├── AUBREY1__.TTF │ │ │ ├── Champagne & Limousines Bold Italic.ttf │ │ │ ├── Champagne & Limousines Bold.ttf │ │ │ ├── Champagne & Limousines Italic.ttf │ │ │ ├── Champagne & Limousines.ttf │ │ │ ├── LEIXO-DEMO.ttf │ │ │ ├── Messenger Pigeons Personal Use.ttf │ │ │ └── Sullivan.ttf │ │ ├── java │ │ └── com │ │ │ └── reactnativeswipecardsinteraction │ │ │ ├── MainActivity.java │ │ │ └── MainApplication.java │ │ └── res │ │ ├── mipmap-hdpi │ │ └── ic_launcher.png │ │ ├── mipmap-mdpi │ │ └── ic_launcher.png │ │ ├── mipmap-xhdpi │ │ └── ic_launcher.png │ │ ├── mipmap-xxhdpi │ │ └── ic_launcher.png │ │ └── values │ │ ├── strings.xml │ │ └── styles.xml ├── build.gradle ├── build │ └── intermediates │ │ └── dex-cache │ │ └── cache.xml ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── keystores │ ├── BUCK │ └── debug.keystore.properties └── settings.gradle ├── app.json ├── assets ├── 1280px-Pelarsela.jpg ├── 26-05-2013_sprayed_04.jpg ├── 88eb1baf1721fff3accbcb63cb39b244.jpg ├── Candid-Background-DARKER.jpg ├── Icon.js ├── arabic.js ├── bengali.js ├── charts.js ├── concert-731227_960_720.jpg ├── english.js ├── frontend-large.jpg ├── hindi.js ├── kannada.js ├── malayalam.js ├── pexels-photo-172289.jpeg.url ├── pexels-photo-30222.jpg ├── play_btn.png ├── punjabi.js ├── stop.png ├── tamil.js └── telugu.js ├── index.android.js ├── index.ios.js ├── package.json └── yarn.lock /.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": ["babel-preset-expo"], 3 | "env": { 4 | "development": { 5 | "plugins": ["transform-react-jsx-source"] 6 | } 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /.flowconfig: -------------------------------------------------------------------------------- 1 | [ignore] 2 | ; We fork some components by platform 3 | .*/*[.]android.js 4 | 5 | ; Ignore "BUCK" generated dirs 6 | /\.buckd/ 7 | 8 | ; Ignore unexpected extra "@providesModule" 9 | .*/node_modules/.*/node_modules/fbjs/.* 10 | 11 | ; Ignore duplicate module providers 12 | ; For RN Apps installed via npm, "Libraries" folder is inside 13 | ; "node_modules/react-native" but in the source repo it is in the root 14 | .*/Libraries/react-native/React.js 15 | .*/Libraries/react-native/ReactNative.js 16 | 17 | ; Additional create-react-native-app ignores 18 | 19 | ; Ignore duplicate module providers 20 | .*/node_modules/fbemitter/lib/* 21 | 22 | ; Ignore misbehaving dev-dependencies 23 | .*/node_modules/xdl/build/* 24 | .*/node_modules/reqwest/tests/* 25 | 26 | ; Ignore missing expo-sdk dependencies (temporarily) 27 | ; https://github.com/exponent/exponent-sdk/issues/36 28 | .*/node_modules/expo/src/* 29 | 30 | ; Ignore react-native-fbads dependency of the expo sdk 31 | .*/node_modules/react-native-fbads/* 32 | 33 | [include] 34 | 35 | [libs] 36 | node_modules/react-native/Libraries/react-native/react-native-interface.js 37 | node_modules/react-native/flow 38 | flow/ 39 | 40 | [options] 41 | module.system=haste 42 | 43 | emoji=true 44 | 45 | experimental.strict_type_args=true 46 | 47 | munge_underscores=true 48 | 49 | module.name_mapper='^[./a-zA-Z0-9$_-]+\.\(bmp\|gif\|jpg\|jpeg\|png\|psd\|svg\|webp\|m4v\|mov\|mp4\|mpeg\|mpg\|webm\|aac\|aiff\|caf\|m4a\|mp3\|wav\|html\|pdf\)$' -> 'RelativeImageStub' 50 | 51 | suppress_type=$FlowIssue 52 | suppress_type=$FlowFixMe 53 | suppress_type=$FixMe 54 | 55 | suppress_comment=\\(.\\|\n\\)*\\$FlowFixMe\\($\\|[^(]\\|(\\(>=0\\.\\(3[0-8]\\|[1-2][0-9]\\|[0-9]\\).[0-9]\\)? *\\(site=[a-z,_]*react_native_oss[a-z,_]*\\)?)\\) 56 | suppress_comment=\\(.\\|\n\\)*\\$FlowIssue\\((\\(>=0\\.\\(3[0-8]\\|1[0-9]\\|[1-2][0-9]\\).[0-9]\\)? *\\(site=[a-z,_]*react_native_oss[a-z,_]*\\)?)\\)?:? #[0-9]+ 57 | suppress_comment=\\(.\\|\n\\)*\\$FlowFixedInNextDeploy 58 | 59 | unsafe.enable_getters_and_setters=true 60 | 61 | [version] 62 | ^0.38.0 63 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | .expo/ 3 | npm-debug.* 4 | android/app/build/ 5 | android/.gradle/ 6 | ios/ 7 | App.1.js 8 | *.jpg 9 | *.gif -------------------------------------------------------------------------------- /.watchmanconfig: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /App.js: -------------------------------------------------------------------------------- 1 | import { LayoutAnimation, Animated,TouchableOpacity, Dimensions, StatusBar ,Text, View, StyleSheet, ScrollView, Image } from 'react-native'; 2 | import React, { Component } from 'react'; 3 | var {height, width} = Dimensions.get('window'); 4 | import { ReactNativeAudioStreaming,Player } from 'react-native-audio-streaming'; 5 | import english from './assets/english'; 6 | import arabic from './assets/arabic'; 7 | import bengali from './assets/bengali'; 8 | import hindi from './assets/hindi'; 9 | import kannada from './assets/kannada'; 10 | import malayalam from './assets/malayalam'; 11 | import punjabi from './assets/punjabi'; 12 | import tamil from './assets/tamil'; 13 | import telugu from './assets/telugu'; 14 | 15 | StatusBar.setBackgroundColor('coral') 16 | 17 | var play_btn=require('./assets/play_btn.png') 18 | var stop_btn=require('./assets/stop.png') 19 | 20 | const stations=[ 21 | {char:'A',name:'English',channels:english,image:'http://photoarte.zenfolio.com/img/s11/v37/p16237260-3.jpg'}, 22 | {char:'ह',name:'Hindi',channels:hindi,image:'https://drscdn.500px.org/photo/69181003/m=2048_k=1_a=1/7c5deda65e2d10eefaf34e2ced1ba33f'}, 23 | {char:'ਪੰ',name:'Punjabi',channels:punjabi,image:'http://farm4.staticflickr.com/3083/3124146031_a1c7bba857_b.jpg'}, 24 | {char:'த',name:'Tamil',channels:tamil,image:'http://static.dnaindia.com/sites/default/files/styles/half/public/2015/08/10/363946-shore-temple-getty.jpg?itok=HyG-R55F'}, 25 | {char:'తె',name:'Telugu',channels:telugu,image:'https://cdn.pixabay.com/photo/2015/08/19/15/41/charminar-896162_960_720.jpg'}, 26 | {char:'മ',name:'Malayalam',channels:malayalam,image:'http://maxpixel.freegreatpicture.com/static/photo/1x/Beach-South-India-Kerala-Kovalam-City-Ocean-India-2075353.jpg'}, 27 | {char:'ಕ',name:'Kannada',channels:kannada,image:'http://l7.alamy.com/zooms/0574d5b9865b46e69d5744ea1ac147b4/black-and-white-image-of-a-cathedral-facade-featuring-carved-stone-exjrw1.jpg'}, 28 | {char:'বা',name:'Bengali',channels:bengali,image:'https://upload.wikimedia.org/wikipedia/commons/f/f5/Kolkata_Victoria_Memorial_silhouette.jpg'}, 29 | {char:'عر',name:'Arabic',channels:arabic,image:'http://images.fineartamerica.com/images-medium-large-5/taj-mahal-in-black-and-white-linda-phelps.jpg'}, 30 | {image:''} 31 | ] 32 | const url=stations[1].channels[2].file; 33 | const smallSize = width / 10; 34 | const itemWidth = width * .67; 35 | const itemHeight = height / 2 - StatusBar.currentHeight * 2; 36 | const fontSize= 250; 37 | 38 | const COLORS = ['coral', 'mediumturquoise', 'burlywood', 'orange', 'tomato','plum','goldenrod','palevioletred','lightpink','lightgreen'] 39 | 40 | export default class App extends Component { 41 | constructor(props) { 42 | super(props) 43 | 44 | this.state = { 45 | scrollX: new Animated.Value(0), 46 | indicator: new Animated.Value(1), 47 | station:stations[0], 48 | channel:stations[0].channels[2], 49 | state:0,//'▷',//'■'▢□, 50 | color:'coral' 51 | } 52 | } 53 | 54 | componentDidMount() { 55 | LayoutAnimation.spring() 56 | } 57 | 58 | changeLanguage(i){ 59 | StatusBar.setBackgroundColor(COLORS[i],true) 60 | this.state.color=COLORS[i]; 61 | this.state.station=stations[i]; 62 | this.setState(this.state); 63 | } 64 | 65 | render() { 66 | return ( 67 | 68 | 69 | 70 | 71 | {this.state.station.name.toUpperCase()} 72 | 73 | {this.renderScroll()} 74 | {/* 75 | 76 | */} 77 | 78 | 79 | 80 | 81 | {this.state.station.channels.map((channel,i) => { 82 | return this.renderNormal(channel, i) 83 | })} 84 | 85 | 86 | { 88 | if(this.state.state)ReactNativeAudioStreaming.stop() 89 | else ReactNativeAudioStreaming.play(this.state.channel.file, {showInAndroidNotifications: true}) 90 | this.state.state=!this.state.state 91 | this.setState(this.state) 92 | }} 93 | style={{position:'absolute',top:10,right:8,flexDirection:'row',elevation:20}}> 94 | 95 | 96 | {(this.state.state)?'■':'▷'}{' '} 97 | 98 | 99 | 100 | 101 | CURRENT 102 | 103 | 104 | {this.state.channel.name} 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | ); 113 | } 114 | 115 | renderScroll() { 116 | return 129 | {stations.map((station,i) => { 130 | return this.renderRow(station, i) 131 | })} 132 | 133 | } 134 | 135 | 136 | renderNormal(channel, i) { 137 | return 138 | { 140 | ReactNativeAudioStreaming.stop() 141 | if(this.state.channel===channel && this.state.state){ 142 | this.state.state=0 143 | } 144 | else{ 145 | ReactNativeAudioStreaming.play(channel.file, {showInAndroidNotifications: true}) 146 | this.state.state=1 147 | this.state.channel=channel 148 | } 149 | this.setState(this.state) 150 | }} 151 | style={{flexDirection: 'row', flex: 1, alignItems: 'flex-start', justifyContent: 'flex-start'}}> 152 | 153 | 154 | {channel.name} 155 | {channel.city} 156 | 157 | 158 | 159 | } 160 | 161 | renderRow(station, i) { 162 | let inputRange = [(i - 1) * itemWidth, i * itemWidth, (i + 1) * itemWidth, (i + 2) * itemWidth]; 163 | let secondRange = [(i - 1) * itemWidth, i * itemWidth, (i + 1) * itemWidth] 164 | 165 | // Ensure that we're leaving space for latest item. 166 | if (station.image === '') { 167 | return 168 | } 169 | 170 | return ( 171 | 181 | 182 | 183 | this.changeLanguage(i)}>{station.char} 184 | 185 | 186 | 187 | ); 188 | } 189 | } 190 | 191 | const styles = StyleSheet.create({ 192 | container: { 193 | flex: 1, 194 | alignItems: 'center', 195 | justifyContent: 'center', 196 | }, 197 | emptyItem: { 198 | overflow: 'hidden', 199 | height: itemHeight, 200 | flex: 1, 201 | alignItems: 'center', 202 | justifyContent: 'center', 203 | borderLeftWidth: 20, 204 | borderColor: 'transparent', 205 | width: itemWidth, 206 | backgroundColor: 'transparent' 207 | }, 208 | heading: { 209 | fontSize: 26,paddingLeft:10, 210 | width:width,color:'white', 211 | fontFamily:'CaviarDreams_Bold', 212 | position:'relative',top:10 213 | }, 214 | backgroundImage: { 215 | flex: 1, 216 | width: null, 217 | height: null, 218 | resizeMode: 'cover' 219 | } 220 | }); -------------------------------------------------------------------------------- /App.test.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import App from './App'; 3 | 4 | import renderer from 'react-test-renderer'; 5 | 6 | it('renders without crashing', () => { 7 | const rendered = renderer.create().toJSON(); 8 | expect(rendered).toBeTruthy(); 9 | }); 10 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ### React Native based Radio App 2 | -------------------------------------------------------------------------------- /android/FM Global.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kunsachdeva/React-Native-Radio-App/5a2e3147eb4860f4d4954fe9f3eb00cfe02fd406/android/FM Global.pdf -------------------------------------------------------------------------------- /android/Radio India.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kunsachdeva/React-Native-Radio-App/5a2e3147eb4860f4d4954fe9f3eb00cfe02fd406/android/Radio India.pdf -------------------------------------------------------------------------------- /android/app/BUCK: -------------------------------------------------------------------------------- 1 | import re 2 | 3 | # To learn about Buck see [Docs](https://buckbuild.com/). 4 | # To run your application with Buck: 5 | # - install Buck 6 | # - `npm start` - to start the packager 7 | # - `cd android` 8 | # - `keytool -genkey -v -keystore keystores/debug.keystore -storepass android -alias androiddebugkey -keypass android -dname "CN=Android Debug,O=Android,C=US"` 9 | # - `./gradlew :app:copyDownloadableDepsToLibs` - make all Gradle compile dependencies available to Buck 10 | # - `buck install -r android/app` - compile, install and run application 11 | # 12 | 13 | lib_deps = [] 14 | for jarfile in glob(['libs/*.jar']): 15 | name = 'jars__' + re.sub(r'^.*/([^/]+)\.jar$', r'\1', jarfile) 16 | lib_deps.append(':' + name) 17 | prebuilt_jar( 18 | name = name, 19 | binary_jar = jarfile, 20 | ) 21 | 22 | for aarfile in glob(['libs/*.aar']): 23 | name = 'aars__' + re.sub(r'^.*/([^/]+)\.aar$', r'\1', aarfile) 24 | lib_deps.append(':' + name) 25 | android_prebuilt_aar( 26 | name = name, 27 | aar = aarfile, 28 | ) 29 | 30 | android_library( 31 | name = 'all-libs', 32 | exported_deps = lib_deps 33 | ) 34 | 35 | android_library( 36 | name = 'app-code', 37 | srcs = glob([ 38 | 'src/main/java/**/*.java', 39 | ]), 40 | deps = [ 41 | ':all-libs', 42 | ':build_config', 43 | ':res', 44 | ], 45 | ) 46 | 47 | android_build_config( 48 | name = 'build_config', 49 | package = 'com.reactnativeswipecardsinteraction', 50 | ) 51 | 52 | android_resource( 53 | name = 'res', 54 | res = 'src/main/res', 55 | package = 'com.reactnativeswipecardsinteraction', 56 | ) 57 | 58 | android_binary( 59 | name = 'app', 60 | package_type = 'debug', 61 | manifest = 'src/main/AndroidManifest.xml', 62 | keystore = '//android/keystores:debug', 63 | deps = [ 64 | ':app-code', 65 | ], 66 | ) 67 | -------------------------------------------------------------------------------- /android/app/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: "com.android.application" 2 | 3 | import com.android.build.OutputFile 4 | 5 | /** 6 | * The react.gradle file registers a task for each build variant (e.g. bundleDebugJsAndAssets 7 | * and bundleReleaseJsAndAssets). 8 | * These basically call `react-native bundle` with the correct arguments during the Android build 9 | * cycle. By default, bundleDebugJsAndAssets is skipped, as in debug/dev mode we prefer to load the 10 | * bundle directly from the development server. Below you can see all the possible configurations 11 | * and their defaults. If you decide to add a configuration block, make sure to add it before the 12 | * `apply from: "../../node_modules/react-native/react.gradle"` line. 13 | * 14 | * project.ext.react = [ 15 | * // the name of the generated asset file containing your JS bundle 16 | * bundleAssetName: "index.android.bundle", 17 | * 18 | * // the entry file for bundle generation 19 | * entryFile: "index.android.js", 20 | * 21 | * // whether to bundle JS and assets in debug mode 22 | * bundleInDebug: false, 23 | * 24 | * // whether to bundle JS and assets in release mode 25 | * bundleInRelease: true, 26 | * 27 | * // whether to bundle JS and assets in another build variant (if configured). 28 | * // See http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Build-Variants 29 | * // The configuration property can be in the following formats 30 | * // 'bundleIn${productFlavor}${buildType}' 31 | * // 'bundleIn${buildType}' 32 | * // bundleInFreeDebug: true, 33 | * // bundleInPaidRelease: true, 34 | * // bundleInBeta: true, 35 | * 36 | * // the root of your project, i.e. where "package.json" lives 37 | * root: "../../", 38 | * 39 | * // where to put the JS bundle asset in debug mode 40 | * jsBundleDirDebug: "$buildDir/intermediates/assets/debug", 41 | * 42 | * // where to put the JS bundle asset in release mode 43 | * jsBundleDirRelease: "$buildDir/intermediates/assets/release", 44 | * 45 | * // where to put drawable resources / React Native assets, e.g. the ones you use via 46 | * // require('./image.png')), in debug mode 47 | * resourcesDirDebug: "$buildDir/intermediates/res/merged/debug", 48 | * 49 | * // where to put drawable resources / React Native assets, e.g. the ones you use via 50 | * // require('./image.png')), in release mode 51 | * resourcesDirRelease: "$buildDir/intermediates/res/merged/release", 52 | * 53 | * // by default the gradle tasks are skipped if none of the JS files or assets change; this means 54 | * // that we don't look at files in android/ or ios/ to determine whether the tasks are up to 55 | * // date; if you have any other folders that you want to ignore for performance reasons (gradle 56 | * // indexes the entire tree), add them here. Alternatively, if you have JS files in android/ 57 | * // for example, you might want to remove it from here. 58 | * inputExcludes: ["android/**", "ios/**"], 59 | * 60 | * // override which node gets called and with what additional arguments 61 | * nodeExecutableAndArgs: ["node"] 62 | * 63 | * // supply additional arguments to the packager 64 | * extraPackagerArgs: [] 65 | * ] 66 | */ 67 | 68 | apply from: "../../node_modules/react-native/react.gradle" 69 | 70 | /** 71 | * Set this to true to create two separate APKs instead of one: 72 | * - An APK that only works on ARM devices 73 | * - An APK that only works on x86 devices 74 | * The advantage is the size of the APK is reduced by about 4MB. 75 | * Upload all the APKs to the Play Store and people will download 76 | * the correct one based on the CPU architecture of their device. 77 | */ 78 | def enableSeparateBuildPerCPUArchitecture = false 79 | 80 | /** 81 | * Run Proguard to shrink the Java bytecode in release builds. 82 | */ 83 | def enableProguardInReleaseBuilds = false 84 | 85 | android { 86 | compileSdkVersion 23 87 | buildToolsVersion "23.0.1" 88 | 89 | defaultConfig { 90 | applicationId "com.reactnativeswipecardsinteraction" 91 | minSdkVersion 16 92 | targetSdkVersion 22 93 | versionCode 1 94 | versionName "1.0" 95 | ndk { 96 | abiFilters "armeabi-v7a", "x86" 97 | } 98 | } 99 | splits { 100 | abi { 101 | reset() 102 | enable enableSeparateBuildPerCPUArchitecture 103 | universalApk false // If true, also generate a universal APK 104 | include "armeabi-v7a", "x86" 105 | } 106 | } 107 | buildTypes { 108 | release { 109 | minifyEnabled enableProguardInReleaseBuilds 110 | proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro" 111 | } 112 | } 113 | // applicationVariants are e.g. debug, release 114 | applicationVariants.all { variant -> 115 | variant.outputs.each { output -> 116 | // For each separate APK per architecture, set a unique version code as described here: 117 | // http://tools.android.com/tech-docs/new-build-system/user-guide/apk-splits 118 | def versionCodes = ["armeabi-v7a":1, "x86":2] 119 | def abi = output.getFilter(OutputFile.ABI) 120 | if (abi != null) { // null for the universal-debug, universal-release variants 121 | output.versionCodeOverride = 122 | versionCodes.get(abi) * 1048576 + defaultConfig.versionCode 123 | } 124 | } 125 | } 126 | } 127 | 128 | dependencies { 129 | compile project(':react-native-audio-streaming') 130 | compile fileTree(dir: "libs", include: ["*.jar"]) 131 | compile "com.android.support:appcompat-v7:23.0.1" 132 | compile "com.facebook.react:react-native:+" // From node_modules 133 | } 134 | 135 | // Run this once to be able to run the application with BUCK 136 | // puts all compile dependencies into folder libs for BUCK to use 137 | task copyDownloadableDepsToLibs(type: Copy) { 138 | from configurations.compile 139 | into 'libs' 140 | } 141 | -------------------------------------------------------------------------------- /android/app/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # By default, the flags in this file are appended to flags specified 3 | # in /usr/local/Cellar/android-sdk/24.3.3/tools/proguard/proguard-android.txt 4 | # You can edit the include path and order by changing the proguardFiles 5 | # directive in build.gradle. 6 | # 7 | # For more details, see 8 | # http://developer.android.com/guide/developing/tools/proguard.html 9 | 10 | # Add any project specific keep options here: 11 | 12 | # If your project uses WebView with JS, uncomment the following 13 | # and specify the fully qualified class name to the JavaScript interface 14 | # class: 15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 16 | # public *; 17 | #} 18 | 19 | # Disabling obfuscation is useful if you collect stack traces from production crashes 20 | # (unless you are using a system that supports de-obfuscate the stack traces). 21 | -dontobfuscate 22 | 23 | # React Native 24 | 25 | # Keep our interfaces so they can be used by other ProGuard rules. 26 | # See http://sourceforge.net/p/proguard/bugs/466/ 27 | -keep,allowobfuscation @interface com.facebook.proguard.annotations.DoNotStrip 28 | -keep,allowobfuscation @interface com.facebook.proguard.annotations.KeepGettersAndSetters 29 | -keep,allowobfuscation @interface com.facebook.common.internal.DoNotStrip 30 | 31 | # Do not strip any method/class that is annotated with @DoNotStrip 32 | -keep @com.facebook.proguard.annotations.DoNotStrip class * 33 | -keep @com.facebook.common.internal.DoNotStrip class * 34 | -keepclassmembers class * { 35 | @com.facebook.proguard.annotations.DoNotStrip *; 36 | @com.facebook.common.internal.DoNotStrip *; 37 | } 38 | 39 | -keepclassmembers @com.facebook.proguard.annotations.KeepGettersAndSetters class * { 40 | void set*(***); 41 | *** get*(); 42 | } 43 | 44 | -keep class * extends com.facebook.react.bridge.JavaScriptModule { *; } 45 | -keep class * extends com.facebook.react.bridge.NativeModule { *; } 46 | -keepclassmembers,includedescriptorclasses class * { native ; } 47 | -keepclassmembers class * { @com.facebook.react.uimanager.UIProp ; } 48 | -keepclassmembers class * { @com.facebook.react.uimanager.annotations.ReactProp ; } 49 | -keepclassmembers class * { @com.facebook.react.uimanager.annotations.ReactPropGroup ; } 50 | 51 | -dontwarn com.facebook.react.** 52 | 53 | # okhttp 54 | 55 | -keepattributes Signature 56 | -keepattributes *Annotation* 57 | -keep class okhttp3.** { *; } 58 | -keep interface okhttp3.** { *; } 59 | -dontwarn okhttp3.** 60 | 61 | # okio 62 | 63 | -keep class sun.misc.Unsafe { *; } 64 | -dontwarn java.nio.file.* 65 | -dontwarn org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement 66 | -dontwarn okio.** 67 | -------------------------------------------------------------------------------- /android/app/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 5 | 6 | 7 | 8 | 9 | 12 | 13 | 19 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /android/app/src/main/assets/fonts/AUBREY1__.TTF: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kunsachdeva/React-Native-Radio-App/5a2e3147eb4860f4d4954fe9f3eb00cfe02fd406/android/app/src/main/assets/fonts/AUBREY1__.TTF -------------------------------------------------------------------------------- /android/app/src/main/assets/fonts/Champagne & Limousines Bold Italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kunsachdeva/React-Native-Radio-App/5a2e3147eb4860f4d4954fe9f3eb00cfe02fd406/android/app/src/main/assets/fonts/Champagne & Limousines Bold Italic.ttf -------------------------------------------------------------------------------- /android/app/src/main/assets/fonts/Champagne & Limousines Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kunsachdeva/React-Native-Radio-App/5a2e3147eb4860f4d4954fe9f3eb00cfe02fd406/android/app/src/main/assets/fonts/Champagne & Limousines Bold.ttf -------------------------------------------------------------------------------- /android/app/src/main/assets/fonts/Champagne & Limousines Italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kunsachdeva/React-Native-Radio-App/5a2e3147eb4860f4d4954fe9f3eb00cfe02fd406/android/app/src/main/assets/fonts/Champagne & Limousines Italic.ttf -------------------------------------------------------------------------------- /android/app/src/main/assets/fonts/Champagne & Limousines.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kunsachdeva/React-Native-Radio-App/5a2e3147eb4860f4d4954fe9f3eb00cfe02fd406/android/app/src/main/assets/fonts/Champagne & Limousines.ttf -------------------------------------------------------------------------------- /android/app/src/main/assets/fonts/LEIXO-DEMO.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kunsachdeva/React-Native-Radio-App/5a2e3147eb4860f4d4954fe9f3eb00cfe02fd406/android/app/src/main/assets/fonts/LEIXO-DEMO.ttf -------------------------------------------------------------------------------- /android/app/src/main/assets/fonts/Messenger Pigeons Personal Use.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kunsachdeva/React-Native-Radio-App/5a2e3147eb4860f4d4954fe9f3eb00cfe02fd406/android/app/src/main/assets/fonts/Messenger Pigeons Personal Use.ttf -------------------------------------------------------------------------------- /android/app/src/main/assets/fonts/Sullivan.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kunsachdeva/React-Native-Radio-App/5a2e3147eb4860f4d4954fe9f3eb00cfe02fd406/android/app/src/main/assets/fonts/Sullivan.ttf -------------------------------------------------------------------------------- /android/app/src/main/java/com/reactnativeswipecardsinteraction/MainActivity.java: -------------------------------------------------------------------------------- 1 | package com.reactnativeswipecardsinteraction; 2 | 3 | import com.facebook.react.ReactActivity; 4 | 5 | public class MainActivity extends ReactActivity { 6 | 7 | /** 8 | * Returns the name of the main component registered from JavaScript. 9 | * This is used to schedule rendering of the component. 10 | */ 11 | @Override 12 | protected String getMainComponentName() { 13 | return "reactnativeswipecardsinteraction"; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /android/app/src/main/java/com/reactnativeswipecardsinteraction/MainApplication.java: -------------------------------------------------------------------------------- 1 | package com.reactnativeswipecardsinteraction; 2 | 3 | import android.app.Application; 4 | 5 | import com.facebook.react.ReactApplication; 6 | import com.audioStreaming.ReactNativeAudioStreamingPackage; 7 | import com.facebook.react.ReactNativeHost; 8 | import com.facebook.react.ReactPackage; 9 | import com.facebook.react.shell.MainReactPackage; 10 | import com.facebook.soloader.SoLoader; 11 | 12 | import java.util.Arrays; 13 | import java.util.List; 14 | 15 | public class MainApplication extends Application implements ReactApplication { 16 | 17 | private final ReactNativeHost mReactNativeHost = new ReactNativeHost(this) { 18 | @Override 19 | public boolean getUseDeveloperSupport() { 20 | return BuildConfig.DEBUG; 21 | } 22 | 23 | @Override 24 | protected List getPackages() { 25 | return Arrays.asList( 26 | new MainReactPackage(), 27 | new ReactNativeAudioStreamingPackage() 28 | ); 29 | } 30 | }; 31 | 32 | @Override 33 | public ReactNativeHost getReactNativeHost() { 34 | return mReactNativeHost; 35 | } 36 | 37 | @Override 38 | public void onCreate() { 39 | super.onCreate(); 40 | SoLoader.init(this, /* native exopackage */ false); 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kunsachdeva/React-Native-Radio-App/5a2e3147eb4860f4d4954fe9f3eb00cfe02fd406/android/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kunsachdeva/React-Native-Radio-App/5a2e3147eb4860f4d4954fe9f3eb00cfe02fd406/android/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kunsachdeva/React-Native-Radio-App/5a2e3147eb4860f4d4954fe9f3eb00cfe02fd406/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kunsachdeva/React-Native-Radio-App/5a2e3147eb4860f4d4954fe9f3eb00cfe02fd406/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | Radio India 3 | 4 | -------------------------------------------------------------------------------- /android/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /android/build.gradle: -------------------------------------------------------------------------------- 1 | // Top-level build file where you can add configuration options common to all sub-projects/modules. 2 | 3 | buildscript { 4 | repositories { 5 | jcenter() 6 | } 7 | dependencies { 8 | classpath 'com.android.tools.build:gradle:2.2.3' 9 | 10 | // NOTE: Do not place your application dependencies here; they belong 11 | // in the individual module build.gradle files 12 | } 13 | } 14 | 15 | allprojects { 16 | repositories { 17 | mavenLocal() 18 | jcenter() 19 | maven { 20 | // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm 21 | url "$rootDir/../node_modules/react-native/android" 22 | } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /android/build/intermediates/dex-cache/cache.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 12 | 13 | 20 | 21 | 22 | 29 | 30 | 31 | 38 | 39 | 40 | 47 | 48 | 49 | 56 | 57 | 58 | 65 | 66 | 67 | 74 | 75 | 76 | 83 | 84 | 85 | 92 | 93 | 94 | 101 | 102 | 103 | 110 | 111 | 112 | 119 | 120 | 121 | 128 | 129 | 130 | 137 | 138 | 139 | 146 | 147 | 148 | 155 | 156 | 157 | 164 | 165 | 166 | 173 | 174 | 175 | 182 | 183 | 184 | 191 | 192 | 193 | 200 | 201 | 202 | 209 | 210 | 211 | 218 | 219 | 220 | 227 | 228 | 229 | 236 | 237 | 238 | 239 | 240 | -------------------------------------------------------------------------------- /android/gradle.properties: -------------------------------------------------------------------------------- 1 | # Project-wide Gradle settings. 2 | 3 | # IDE (e.g. Android Studio) users: 4 | # Gradle settings configured through the IDE *will override* 5 | # any settings specified in this file. 6 | 7 | # For more details on how to configure your build environment visit 8 | # http://www.gradle.org/docs/current/userguide/build_environment.html 9 | 10 | # Specifies the JVM arguments used for the daemon process. 11 | # The setting is particularly useful for tweaking memory settings. 12 | # Default value: -Xmx10248m -XX:MaxPermSize=256m 13 | # org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 14 | 15 | # When configured, Gradle will run in incubating parallel mode. 16 | # This option should only be used with decoupled projects. More details, visit 17 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects 18 | # org.gradle.parallel=true 19 | 20 | android.useDeprecatedNdk=true 21 | -------------------------------------------------------------------------------- /android/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kunsachdeva/React-Native-Radio-App/5a2e3147eb4860f4d4954fe9f3eb00cfe02fd406/android/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /android/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | zipStoreBase=GRADLE_USER_HOME 4 | zipStorePath=wrapper/dists 5 | distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip 6 | -------------------------------------------------------------------------------- /android/gradlew: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | ############################################################################## 4 | ## 5 | ## Gradle start up script for UN*X 6 | ## 7 | ############################################################################## 8 | 9 | # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. 10 | DEFAULT_JVM_OPTS="" 11 | 12 | APP_NAME="Gradle" 13 | APP_BASE_NAME=`basename "$0"` 14 | 15 | # Use the maximum available, or set MAX_FD != -1 to use that value. 16 | MAX_FD="maximum" 17 | 18 | warn ( ) { 19 | echo "$*" 20 | } 21 | 22 | die ( ) { 23 | echo 24 | echo "$*" 25 | echo 26 | exit 1 27 | } 28 | 29 | # OS specific support (must be 'true' or 'false'). 30 | cygwin=false 31 | msys=false 32 | darwin=false 33 | case "`uname`" in 34 | CYGWIN* ) 35 | cygwin=true 36 | ;; 37 | Darwin* ) 38 | darwin=true 39 | ;; 40 | MINGW* ) 41 | msys=true 42 | ;; 43 | esac 44 | 45 | # For Cygwin, ensure paths are in UNIX format before anything is touched. 46 | if $cygwin ; then 47 | [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"` 48 | fi 49 | 50 | # Attempt to set APP_HOME 51 | # Resolve links: $0 may be a link 52 | PRG="$0" 53 | # Need this for relative symlinks. 54 | while [ -h "$PRG" ] ; do 55 | ls=`ls -ld "$PRG"` 56 | link=`expr "$ls" : '.*-> \(.*\)$'` 57 | if expr "$link" : '/.*' > /dev/null; then 58 | PRG="$link" 59 | else 60 | PRG=`dirname "$PRG"`"/$link" 61 | fi 62 | done 63 | SAVED="`pwd`" 64 | cd "`dirname \"$PRG\"`/" >&- 65 | APP_HOME="`pwd -P`" 66 | cd "$SAVED" >&- 67 | 68 | CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar 69 | 70 | # Determine the Java command to use to start the JVM. 71 | if [ -n "$JAVA_HOME" ] ; then 72 | if [ -x "$JAVA_HOME/jre/sh/java" ] ; then 73 | # IBM's JDK on AIX uses strange locations for the executables 74 | JAVACMD="$JAVA_HOME/jre/sh/java" 75 | else 76 | JAVACMD="$JAVA_HOME/bin/java" 77 | fi 78 | if [ ! -x "$JAVACMD" ] ; then 79 | die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME 80 | 81 | Please set the JAVA_HOME variable in your environment to match the 82 | location of your Java installation." 83 | fi 84 | else 85 | JAVACMD="java" 86 | which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 87 | 88 | Please set the JAVA_HOME variable in your environment to match the 89 | location of your Java installation." 90 | fi 91 | 92 | # Increase the maximum file descriptors if we can. 93 | if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then 94 | MAX_FD_LIMIT=`ulimit -H -n` 95 | if [ $? -eq 0 ] ; then 96 | if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then 97 | MAX_FD="$MAX_FD_LIMIT" 98 | fi 99 | ulimit -n $MAX_FD 100 | if [ $? -ne 0 ] ; then 101 | warn "Could not set maximum file descriptor limit: $MAX_FD" 102 | fi 103 | else 104 | warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" 105 | fi 106 | fi 107 | 108 | # For Darwin, add options to specify how the application appears in the dock 109 | if $darwin; then 110 | GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" 111 | fi 112 | 113 | # For Cygwin, switch paths to Windows format before running java 114 | if $cygwin ; then 115 | APP_HOME=`cygpath --path --mixed "$APP_HOME"` 116 | CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` 117 | 118 | # We build the pattern for arguments to be converted via cygpath 119 | ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` 120 | SEP="" 121 | for dir in $ROOTDIRSRAW ; do 122 | ROOTDIRS="$ROOTDIRS$SEP$dir" 123 | SEP="|" 124 | done 125 | OURCYGPATTERN="(^($ROOTDIRS))" 126 | # Add a user-defined pattern to the cygpath arguments 127 | if [ "$GRADLE_CYGPATTERN" != "" ] ; then 128 | OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" 129 | fi 130 | # Now convert the arguments - kludge to limit ourselves to /bin/sh 131 | i=0 132 | for arg in "$@" ; do 133 | CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` 134 | CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option 135 | 136 | if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition 137 | eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` 138 | else 139 | eval `echo args$i`="\"$arg\"" 140 | fi 141 | i=$((i+1)) 142 | done 143 | case $i in 144 | (0) set -- ;; 145 | (1) set -- "$args0" ;; 146 | (2) set -- "$args0" "$args1" ;; 147 | (3) set -- "$args0" "$args1" "$args2" ;; 148 | (4) set -- "$args0" "$args1" "$args2" "$args3" ;; 149 | (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; 150 | (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; 151 | (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; 152 | (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; 153 | (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; 154 | esac 155 | fi 156 | 157 | # Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules 158 | function splitJvmOpts() { 159 | JVM_OPTS=("$@") 160 | } 161 | eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS 162 | JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME" 163 | 164 | exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@" 165 | -------------------------------------------------------------------------------- /android/gradlew.bat: -------------------------------------------------------------------------------- 1 | @if "%DEBUG%" == "" @echo off 2 | @rem ########################################################################## 3 | @rem 4 | @rem Gradle startup script for Windows 5 | @rem 6 | @rem ########################################################################## 7 | 8 | @rem Set local scope for the variables with windows NT shell 9 | if "%OS%"=="Windows_NT" setlocal 10 | 11 | @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. 12 | set DEFAULT_JVM_OPTS= 13 | 14 | set DIRNAME=%~dp0 15 | if "%DIRNAME%" == "" set DIRNAME=. 16 | set APP_BASE_NAME=%~n0 17 | set APP_HOME=%DIRNAME% 18 | 19 | @rem Find java.exe 20 | if defined JAVA_HOME goto findJavaFromJavaHome 21 | 22 | set JAVA_EXE=java.exe 23 | %JAVA_EXE% -version >NUL 2>&1 24 | if "%ERRORLEVEL%" == "0" goto init 25 | 26 | echo. 27 | echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 28 | echo. 29 | echo Please set the JAVA_HOME variable in your environment to match the 30 | echo location of your Java installation. 31 | 32 | goto fail 33 | 34 | :findJavaFromJavaHome 35 | set JAVA_HOME=%JAVA_HOME:"=% 36 | set JAVA_EXE=%JAVA_HOME%/bin/java.exe 37 | 38 | if exist "%JAVA_EXE%" goto init 39 | 40 | echo. 41 | echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 42 | echo. 43 | echo Please set the JAVA_HOME variable in your environment to match the 44 | echo location of your Java installation. 45 | 46 | goto fail 47 | 48 | :init 49 | @rem Get command-line arguments, handling Windowz variants 50 | 51 | if not "%OS%" == "Windows_NT" goto win9xME_args 52 | if "%@eval[2+2]" == "4" goto 4NT_args 53 | 54 | :win9xME_args 55 | @rem Slurp the command line arguments. 56 | set CMD_LINE_ARGS= 57 | set _SKIP=2 58 | 59 | :win9xME_args_slurp 60 | if "x%~1" == "x" goto execute 61 | 62 | set CMD_LINE_ARGS=%* 63 | goto execute 64 | 65 | :4NT_args 66 | @rem Get arguments from the 4NT Shell from JP Software 67 | set CMD_LINE_ARGS=%$ 68 | 69 | :execute 70 | @rem Setup the command line 71 | 72 | set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar 73 | 74 | @rem Execute Gradle 75 | "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% 76 | 77 | :end 78 | @rem End local scope for the variables with windows NT shell 79 | if "%ERRORLEVEL%"=="0" goto mainEnd 80 | 81 | :fail 82 | rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of 83 | rem the _cmd.exe /c_ return code! 84 | if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 85 | exit /b 1 86 | 87 | :mainEnd 88 | if "%OS%"=="Windows_NT" endlocal 89 | 90 | :omega 91 | -------------------------------------------------------------------------------- /android/keystores/BUCK: -------------------------------------------------------------------------------- 1 | keystore( 2 | name = 'debug', 3 | store = 'debug.keystore', 4 | properties = 'debug.keystore.properties', 5 | visibility = [ 6 | 'PUBLIC', 7 | ], 8 | ) 9 | -------------------------------------------------------------------------------- /android/keystores/debug.keystore.properties: -------------------------------------------------------------------------------- 1 | key.store=debug.keystore 2 | key.alias=androiddebugkey 3 | key.store.password=android 4 | key.alias.password=android 5 | -------------------------------------------------------------------------------- /android/settings.gradle: -------------------------------------------------------------------------------- 1 | rootProject.name = 'reactnativeswipecardsinteraction' 2 | include ':react-native-audio-streaming' 3 | project(':react-native-audio-streaming').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-audio-streaming/android') 4 | 5 | include ':app' 6 | -------------------------------------------------------------------------------- /app.json: -------------------------------------------------------------------------------- 1 | { 2 | "expo": { 3 | "name": "react-native-swipe-card-interaction", 4 | "description": "Learning by doing 4 - Inf create-react-native-app", 5 | "slug": "react-native-swipe-card-interaction", 6 | "privacy": "public", 7 | "sdkVersion": "15.0.0", 8 | "version": "1.0.0", 9 | "orientation": "portrait", 10 | "primaryColor": "#cccccc", 11 | "icon": "https://s3.amazonaws.com/exp-brand-assets/ExponentEmptyManifest_192.png", 12 | "loading": { 13 | "icon": "https://s3.amazonaws.com/exp-brand-assets/ExponentEmptyManifest_192.png", 14 | "hideExponentText": false 15 | }, 16 | "packagerOpts": { 17 | "assetExts": [ 18 | "ttf", 19 | "mp4" 20 | ] 21 | }, 22 | "ios": { 23 | "supportsTablet": true 24 | } 25 | }, 26 | "name": "reactnativeswipecardsinteraction", 27 | "displayName": "react-native-swipe-card-interaction" 28 | } -------------------------------------------------------------------------------- /assets/1280px-Pelarsela.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kunsachdeva/React-Native-Radio-App/5a2e3147eb4860f4d4954fe9f3eb00cfe02fd406/assets/1280px-Pelarsela.jpg -------------------------------------------------------------------------------- /assets/26-05-2013_sprayed_04.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kunsachdeva/React-Native-Radio-App/5a2e3147eb4860f4d4954fe9f3eb00cfe02fd406/assets/26-05-2013_sprayed_04.jpg -------------------------------------------------------------------------------- /assets/88eb1baf1721fff3accbcb63cb39b244.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kunsachdeva/React-Native-Radio-App/5a2e3147eb4860f4d4954fe9f3eb00cfe02fd406/assets/88eb1baf1721fff3accbcb63cb39b244.jpg -------------------------------------------------------------------------------- /assets/Candid-Background-DARKER.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kunsachdeva/React-Native-Radio-App/5a2e3147eb4860f4d4954fe9f3eb00cfe02fd406/assets/Candid-Background-DARKER.jpg -------------------------------------------------------------------------------- /assets/Icon.js: -------------------------------------------------------------------------------- 1 | import Icon from '@expo/vector-icons'; 2 | export default Icon; 3 | -------------------------------------------------------------------------------- /assets/arabic.js: -------------------------------------------------------------------------------- 1 | var data = [ 2 | { 3 | "id":47, 4 | "name":"Al Arabiya 99 FM", 5 | "city":"UAE", 6 | "file":"http://13373.live.streamtheworld.com:80/AL_ARABIYA_SC" 7 | }, 8 | { 9 | "id":54, 10 | "name":"Al Emarat FM ", 11 | "city":"UAE", 12 | "file":"http://208.80.52.96/EMARAT_FM.mp3?type=.mp3/;stream.mp3" 13 | }, 14 | // { 15 | // "id":54, 16 | // "name":"Al Rabia 107.8 FM", 17 | // "city":"UAE", 18 | // "file":"http://5293.live.streamtheworld.com:3690/AL_RABEAFM_SC" 19 | // }, 20 | { 21 | "id":58, 22 | "name":"ALIF ALIF FM", 23 | "city":"Saudi Arabia", 24 | "file":"http://www.alifaliffm.com:8800/AlifAlif.mp3" 25 | }, 26 | { 27 | "id":59, 28 | "name":"Diab FM", 29 | "city":"Egypt", 30 | "file":"http://s7.voscast.com:7888/;" 31 | }, 32 | // { 33 | // "id":52, 34 | // "name":"Hala FM 102.1", 35 | // "city":"Jordan", 36 | // "file":"http://76.164.217.100:7302/listen.pls" 37 | // }, 38 | { 39 | "id":44, 40 | "name":"MIX FM", 41 | "city":"Saudi Arabia", 42 | "file":"http://soho.wavestreamer.com:3696/Live" 43 | }, 44 | { 45 | "id":42, 46 | "name":"Radio 2Moro", 47 | "city":"Australia", 48 | "file":"http://s4.voscast.com:7648/;" 49 | }, 50 | // { 51 | // "id":53, 52 | // "name":"Radio Rotana", 53 | // "city":"Jordan", 54 | // "file":"http://188.247.86.66/RotanaRadio/Audio32/playlist.m3u8" 55 | // }, 56 | { 57 | "id":43, 58 | "name":"Radio Sawa", 59 | "city":"UAE", 60 | "file":"http://mbn-channel-06.ng.akacast.akamaistream.net/7/28/233455/v1/ibb.akacast.akamaistream.net/mbn_channel_06?type=.mp3/;stream.mp3" 61 | }, 62 | { 63 | "id":51, 64 | "name":"Radio Shoma", 65 | "city":"UAE", 66 | "file":"http://5293.live.streamtheworld.com:443/RADIO_SHOMAAAC_SC" 67 | }, 68 | { 69 | "id":45, 70 | "name":"Star FM 99.9", 71 | "city":"UAE", 72 | "file":"http://13873.live.streamtheworld.com:80/STAR_FM_SC" 73 | }, 74 | { 75 | "id":41, 76 | "name":"Titter FM", 77 | "city":"UAE", 78 | "file":"http://64.150.176.9:8211/;" 79 | } 80 | ]; 81 | 82 | export default data; -------------------------------------------------------------------------------- /assets/bengali.js: -------------------------------------------------------------------------------- 1 | var data = [ 2 | { 3 | "id":47, 4 | "name":"Banglawadio", 5 | "city":"India", 6 | "file":"http://162.254.150.34:8201/;" 7 | }, 8 | { 9 | "id":54, 10 | "name":"BBC Bengali", 11 | "city":"India", 12 | "file":"http://bbcwssc.ic.llnwd.net/stream/bbcwssc_mp1_ws-benga_backup" 13 | }, 14 | { 15 | "id":54, 16 | "name":"Lemon 24", 17 | "city":"India", 18 | "file":"http://office.mcc.com.bd:8000/;" 19 | }, 20 | { 21 | "id":52, 22 | "name":"Radio 2 Fun", 23 | "city":"India", 24 | "file":"http://radio.ethii.com:8000/airtime_128" 25 | }, 26 | { 27 | "id":44, 28 | "name":"Radio Adda", 29 | "city":"India", 30 | "file":"http://162.144.248.103:9982/;" 31 | }, 32 | { 33 | "id":42, 34 | "name":"Radio Kotha", 35 | "city":"India", 36 | "file":"http://media.dreamhousebd.com:8888/" 37 | } 38 | ]; 39 | 40 | export default data; -------------------------------------------------------------------------------- /assets/charts.js: -------------------------------------------------------------------------------- 1 | var data = [ 2 | { 3 | "name":"I♥Radio", 4 | "city":"", 5 | "file":"http://stream02.iloveradio.de/iloveradio1.mp3?hadpreroll" 6 | }, 7 | { 8 | "name":"I ♥ 2 Dance", 9 | "city":"", 10 | "file":"http://stream03.iloveradio.de/iloveradio2.mp3?hadpreroll" 11 | }, 12 | { 13 | "name":"German Top 100", 14 | "city":"", 15 | "file":"http://87.230.101.78/" 16 | }, 17 | { 18 | "name":"Russia Pilot", 19 | "city":"Minsk", 20 | "file":"http://pf.volna.top/PilotBy48" 21 | }, 22 | { 23 | "name":"Hits From Past", 24 | "city":"", 25 | "file":"http://stream03.iloveradio.de/iloveradio12.mp3?hadpreroll" 26 | }, 27 | // { 28 | // "id":54, 29 | // "name":"Al Rabia 107.8 FM", 30 | // "city":"UAE", 31 | // "file":"http://5293.live.streamtheworld.com:3690/AL_RABEAFM_SC" 32 | // }, 33 | { 34 | "id":58, 35 | "name":"ALIF ALIF FM", 36 | "city":"Saudi Arabia", 37 | "file":"http://www.alifaliffm.com:8800/AlifAlif.mp3" 38 | }, 39 | { 40 | "id":59, 41 | "name":"Diab FM", 42 | "city":"Egypt", 43 | "file":"http://s7.voscast.com:7888/;" 44 | }, 45 | // { 46 | // "id":52, 47 | // "name":"Hala FM 102.1", 48 | // "city":"Jordan", 49 | // "file":"http://76.164.217.100:7302/listen.pls" 50 | // }, 51 | { 52 | "id":44, 53 | "name":"MIX FM", 54 | "city":"Saudi Arabia", 55 | "file":"http://soho.wavestreamer.com:3696/Live" 56 | }, 57 | { 58 | "id":42, 59 | "name":"Radio 2Moro", 60 | "city":"Australia", 61 | "file":"http://s4.voscast.com:7648/;" 62 | }, 63 | // { 64 | // "id":53, 65 | // "name":"Radio Rotana", 66 | // "city":"Jordan", 67 | // "file":"http://188.247.86.66/RotanaRadio/Audio32/playlist.m3u8" 68 | // }, 69 | { 70 | "id":43, 71 | "name":"Radio Sawa", 72 | "city":"UAE", 73 | "file":"http://mbn-channel-06.ng.akacast.akamaistream.net/7/28/233455/v1/ibb.akacast.akamaistream.net/mbn_channel_06?type=.mp3/;stream.mp3" 74 | }, 75 | { 76 | "id":51, 77 | "name":"Radio Shoma", 78 | "city":"UAE", 79 | "file":"http://5293.live.streamtheworld.com:443/RADIO_SHOMAAAC_SC" 80 | }, 81 | { 82 | "id":45, 83 | "name":"Star FM 99.9", 84 | "city":"UAE", 85 | "file":"http://13873.live.streamtheworld.com:80/STAR_FM_SC" 86 | }, 87 | { 88 | "id":41, 89 | "name":"Titter FM", 90 | "city":"UAE", 91 | "file":"http://64.150.176.9:8211/;" 92 | } 93 | ]; 94 | 95 | export default data; -------------------------------------------------------------------------------- /assets/concert-731227_960_720.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kunsachdeva/React-Native-Radio-App/5a2e3147eb4860f4d4954fe9f3eb00cfe02fd406/assets/concert-731227_960_720.jpg -------------------------------------------------------------------------------- /assets/english.js: -------------------------------------------------------------------------------- 1 | var data = [ 2 | 3 | { 4 | "id":0, 5 | "name":"181.FM", 6 | "city":"UK", 7 | "file":"http://relay2.181.fm:8070/" 8 | }, 9 | { 10 | "id":1, 11 | "name":"Europa Plus", 12 | "city":"UAE", 13 | "file":"http://eprnb128server.streamr.ru:8061/eprnb128" 14 | }, 15 | { 16 | "id":3, 17 | "name":"Hits 94", 18 | "city":"USA", 19 | "file":"http://audiovision.cdnstream1.com:80/hits94128k" 20 | }, 21 | { 22 | "id":4, 23 | "name":"Hungama English hits", 24 | "city":"India", 25 | "file":"http://123.176.41.8:8432/;stream.mp3" 26 | }, 27 | { 28 | "id":5, 29 | "name":"Kiss FM English", 30 | "city":"Srilanka", 31 | "file":"http://s3.voscast.com:8404/;stream.mp3" 32 | }, 33 | { 34 | "id":6, 35 | "name":"Monster Radio BT ", 36 | "city":"Philippines", 37 | "file":"http://icecast.eradioportal.com:8000/rxcebu?type=.flv" 38 | }, 39 | { 40 | "id":7, 41 | "name":"Radio City International", 42 | "city":"India", 43 | "file":"http://208.115.222.203:8996/;stream.mp3" 44 | }, 45 | { 46 | "id":9, 47 | "name":"Yes FM English", 48 | "city":"India", 49 | "file":"http://76.164.217.100:7030/;stream.mp3" 50 | } 51 | ]; 52 | 53 | export default data; -------------------------------------------------------------------------------- /assets/frontend-large.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kunsachdeva/React-Native-Radio-App/5a2e3147eb4860f4d4954fe9f3eb00cfe02fd406/assets/frontend-large.jpg -------------------------------------------------------------------------------- /assets/hindi.js: -------------------------------------------------------------------------------- 1 | var data = [ 2 | { 3 | "id":26, 4 | "name":"Desi music mix", 5 | "city":"India", 6 | "file":"http://desimusicmix.com:8000/HQ" 7 | }, 8 | { 9 | "id":2, 10 | "name":"Fever FM ", 11 | "city":"India", 12 | "file":"http://live.canstream.co.uk:8000/asianfever.mp3" 13 | }, 14 | { 15 | "id":29, 16 | "name":"Mast Radio", 17 | "city":"New York", 18 | "file":"http://stream.mastradio.net:8000/;stream.mp3" 19 | }, 20 | { 21 | "id":31, 22 | "name":"Radio city", 23 | "city":"India", 24 | "file":"http://prclive1.listenon.in:9960/;" 25 | }, 26 | { 27 | "id":33, 28 | "name":"Radio Dil", 29 | "city":"New York", 30 | "file":"http://50.22.253.45:8000/radiodil2" 31 | }, 32 | { 33 | "id":34, 34 | "name":"Radio Firangi", 35 | "city":"USA", 36 | "file":"http://streaming.radio.co/s47e8ad3e4/listen" 37 | }, 38 | { 39 | "id":35, 40 | "name":"Radio HSL", 41 | "city":"India", 42 | "file":"http://50.7.70.66:8485/;stream.mp3" 43 | }, 44 | { 45 | "id":37, 46 | "name":"Radio Rhythm", 47 | "city":"Australia", 48 | "file":"http://lyra.shoutca.st:8180/stream" 49 | }, 50 | { 51 | "id":38, 52 | "name":"Radio SBS FM", 53 | "city":"Netherlands", 54 | "file":"http://live.radiosbsfm.nl/radiosbsfm?type=.mp3/;stream.mp3" 55 | }, 56 | { 57 | "id":39, 58 | "name":"Radio spice", 59 | "city":"UAE", 60 | "file":"http://ice5.securenetsystems.net:80/1054" 61 | }, 62 | { 63 | "id":40, 64 | "name":"Radio Teentaal", 65 | "city":"France", 66 | "file":"http://www.radioteentaal.com:8000/;stream.mp3" 67 | }, 68 | { 69 | "id":41, 70 | "name":"Radio XL Hindi", 71 | "city":"UK", 72 | "file":"http://sc18.strictlyhosting.co.uk:8000/;stream.mp3" 73 | } 74 | ]; 75 | 76 | export default data; -------------------------------------------------------------------------------- /assets/kannada.js: -------------------------------------------------------------------------------- 1 | var data = [ 2 | { 3 | "id":60, 4 | "name":"AIR Bengaluru", 5 | "city":"India", 6 | "file":"http://sirius.shoutca.st:8772/stream" 7 | }, 8 | { 9 | "id":62, 10 | "name":"Hungama Radio", 11 | "city":"India", 12 | "file":"http://123.176.41.8:8256/;" 13 | }, 14 | { 15 | "id":63, 16 | "name":"Namm Radio", 17 | "city":"India", 18 | "file":"http://noasrv.caster.fm:10113/stream" 19 | }, 20 | { 21 | "id":64, 22 | "name":"Namm Radio US", 23 | "city":"USA", 24 | "file":"http://noasrv.caster.fm:10054/stream" 25 | }, 26 | { 27 | "id":65, 28 | "name":"Raagam", 29 | "city":"India", 30 | "file":"http://andromeda.shoutca.st:8312/stream" 31 | }, 32 | { 33 | "id":66, 34 | "name":"Radio 316", 35 | "city":"India", 36 | "file":"http://108.166.161.221:8532/;stream.mp3" 37 | }, 38 | { 39 | "id":67, 40 | "name":"Radio City", 41 | "city":"India", 42 | "file":"http://69.162.111.146:8870/" 43 | }, 44 | { 45 | "id":68, 46 | "name":"Radio Girmit", 47 | "city":"India", 48 | "file":"http://192.81.248.195:8070/;" 49 | }, 50 | { 51 | "id":69, 52 | "name":"Rainbow Bengaluru", 53 | "city":"India", 54 | "file":"http://falcon.shoutca.st:8058/stream" 55 | }, 56 | { 57 | "id":70, 58 | "name":"Vividh Bharati", 59 | "city":"India", 60 | "file":"http://philae.shoutca.st:8038/stream" 61 | }, 62 | { 63 | "id":71, 64 | "name":"VV Radio", 65 | "city":"India", 66 | "file":"http://37.187.79.56:2802/stream3/;stream.mp3" 67 | } 68 | ]; 69 | 70 | export default data; -------------------------------------------------------------------------------- /assets/malayalam.js: -------------------------------------------------------------------------------- 1 | var data = [ 2 | { 3 | "id":47, 4 | "name":"Asianet 657 Radio", 5 | "city":"UAE", 6 | "file":"http://icast01.bluecast.in:8227/657am" 7 | }, 8 | { 9 | "id":54, 10 | "name":"Ganam Radio", 11 | "city":"UAE", 12 | "file":"http://viadj.viastreaming.net:7104/;stream.mp3" 13 | }, 14 | { 15 | "id":59, 16 | "name":"Hungama Hits", 17 | "city":"India", 18 | "file":"http://123.176.41.8:8656/;" 19 | }, 20 | { 21 | "id":52, 22 | "name":"Kerala Radio", 23 | "city":"india", 24 | "file":"http://radio.hostonnet.com:8000/;stream.mp3" 25 | }, 26 | { 27 | "id":44, 28 | "name":"LMR", 29 | "city":"London", 30 | "file":"http://stream.lmrlive.com:9030/sid1" 31 | }, 32 | { 33 | "id":42, 34 | "name":"Mazhavil FM", 35 | "city":"USA", 36 | "file":"http://mazhavilfm.out.airtime.pro:8000/mazhavilfm_a" 37 | }, 38 | { 39 | "id":53, 40 | "name":"Malayali FM", 41 | "city":"USA", 42 | "file":"http://streaming.radio.co/sd6cafcd5b/listen" 43 | }, 44 | { 45 | "id":43, 46 | "name":"Paattu Petti", 47 | "city":"USA", 48 | "file":"http://206.190.136.141:6029/PaattuPetti" 49 | }, 50 | { 51 | "id":51, 52 | "name":"OMR", 53 | "city":"Dubai", 54 | "file":"http://192.99.35.93:6436/;" 55 | }, 56 | { 57 | "id":45, 58 | "name":"Radiocity", 59 | "city":"India", 60 | "file":"http://prclive1.listenon.in:9908/;" 61 | }, 62 | { 63 | "id":41, 64 | "name":"Radio USA", 65 | "city":"USA", 66 | "file":"http://167.114.131.90:5412/stream3" 67 | }, 68 | // { 69 | // "id":41, 70 | // "name":"Radio mango", 71 | // "city":"India", 72 | // "file":"http://iveradiomangoae-lh.akamaihd.net/i/RadioMango_1@25090/master.m3u8" 73 | // }, 74 | // { 75 | // "id":41, 76 | // "name":"Radio Asia", 77 | // "city":"India", 78 | // "file":"http://192.240.97.69:8939/listen.pls" 79 | // }, 80 | { 81 | "id":50, 82 | "name":"Red FM", 83 | "city":"India", 84 | "file":"http://192.240.97.69:8937/;stream.mp3" 85 | }, 86 | ]; 87 | 88 | export default data; -------------------------------------------------------------------------------- /assets/pexels-photo-172289.jpeg.url: -------------------------------------------------------------------------------- 1 | [InternetShortcut] 2 | URL=https://static.pexels.com/photos/172289/pexels-photo-172289.jpeg 3 | -------------------------------------------------------------------------------- /assets/pexels-photo-30222.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kunsachdeva/React-Native-Radio-App/5a2e3147eb4860f4d4954fe9f3eb00cfe02fd406/assets/pexels-photo-30222.jpg -------------------------------------------------------------------------------- /assets/play_btn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kunsachdeva/React-Native-Radio-App/5a2e3147eb4860f4d4954fe9f3eb00cfe02fd406/assets/play_btn.png -------------------------------------------------------------------------------- /assets/punjabi.js: -------------------------------------------------------------------------------- 1 | var data = [ 2 | { 3 | "id":47, 4 | "name":"BBC punjab", 5 | "city":"UAE", 6 | "file":"http://5.9.66.201:8484/;stream.mp3" 7 | }, 8 | { 9 | "id":54, 10 | "name":"Chann Pardesi", 11 | "city":"UAE", 12 | "file":"http://mehramedia.com:8039/;" 13 | }, 14 | { 15 | "id":54, 16 | "name":"Desi Beat Punjabi", 17 | "city":"India", 18 | "file":"http://s5.voscast.com:8040/;stream.mp3" 19 | }, 20 | { 21 | "id":52, 22 | "name":"Dhol Punjabi Radio", 23 | "city":"india", 24 | "file":"http://gill.sukhpal.net:8000/;stream.mp3" 25 | }, 26 | { 27 | "id":44, 28 | "name":"Hungama Punjabi Hits", 29 | "city":"India", 30 | "file":"http://123.176.41.8:8856/;stream.mp3" 31 | }, 32 | { 33 | "id":42, 34 | "name":"Khalsa FM Punjabi", 35 | "city":"India", 36 | "file":"http://198.178.123.8:7798/;stream.mp3" 37 | }, 38 | { 39 | "id":53, 40 | "name":"Non Stop Punjabi", 41 | "city":"USA", 42 | "file":"http://74.50.122.103:7020/;stream.mp3" 43 | }, 44 | { 45 | "id":43, 46 | "name":"Punjabi Radio", 47 | "city":"Italy", 48 | "file":"http://192.99.4.210:3154/;stream.mp3" 49 | }, 50 | { 51 | "id":51, 52 | "name":"Punjabi Radio", 53 | "city":"USA", 54 | "file":"http://198.178.123.5:7016/;stream.mp3" 55 | }, 56 | { 57 | "id":45, 58 | "name":"Punjabi Songs", 59 | "city":"India", 60 | "file":"http://198.105.220.12:3204/;stream.mp3" 61 | }, 62 | { 63 | "id":41, 64 | "name":"Radio Punjab Today", 65 | "city":"USA", 66 | "file":"http://mehramedia.com:8051/;" 67 | }, 68 | { 69 | "id":50, 70 | "name":"Spice FM Punjabi", 71 | "city":"India", 72 | "file":"http://fire.wavestreamer.com:5270/;stream.mp3" 73 | } 74 | ]; 75 | 76 | export default data; -------------------------------------------------------------------------------- /assets/stop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kunsachdeva/React-Native-Radio-App/5a2e3147eb4860f4d4954fe9f3eb00cfe02fd406/assets/stop.png -------------------------------------------------------------------------------- /assets/tamil.js: -------------------------------------------------------------------------------- 1 | var data = [ 2 | { 3 | "id":2, 4 | "name":"A9 Radio", 5 | "city":"UK", 6 | "file":"http://195.154.217.103:8175/;stream.mp3" 7 | }, 8 | { 9 | "id":3, 10 | "name":"Dream share FM", 11 | "city":"Tanzania", 12 | "file":"http://192.235.87.105:15190/;stream.mp3" 13 | }, 14 | { 15 | "id":5, 16 | "name":"Geetham New Songs", 17 | "city":"India", 18 | "file":"http://www.geethamradio.com:8020/new_hifi.mp3" 19 | }, 20 | { 21 | "id":6, 22 | "name":"Geetham Songs by Request", 23 | "city":"India", 24 | "file":"http://www.geethamradio.com:8020/hifi.mp3" 25 | }, 26 | { 27 | "id":8, 28 | "name":"Lankasri FM", 29 | "city":"UK", 30 | "file":"http://173.192.205.177/;" 31 | }, 32 | { 33 | "id":9, 34 | "name":"Mukil FM", 35 | "city":"India", 36 | "file":"http://96.mukilapp.com/;stream.mp3" 37 | }, 38 | { 39 | "id":10, 40 | "name":"Paris Tamil FM", 41 | "city":"France", 42 | "file":"http://s6.voscast.com:7108/;stream.mp3" 43 | }, 44 | { 45 | "id":11, 46 | "name":"Puradsi FM", 47 | "city":"India", 48 | "file":"http://puradsifm.net:9994/;stream.mp3" 49 | }, 50 | { 51 | "id":12, 52 | "name":"Puthu Padal Radio", 53 | "city":"India", 54 | "file":"http://66.55.145.43:7251/;" 55 | }, 56 | { 57 | "id":13, 58 | "name":"Radio City Tamil", 59 | "city":"India", 60 | "file":"http://prclive1.listenon.in:9948/;" 61 | }, 62 | { 63 | "id":15, 64 | "name":"Shakti FM", 65 | "city":"Sri Lanka", 66 | "file":"http://76.164.217.100:7012/;stream.mp3" 67 | }, 68 | { 69 | "id":16, 70 | "name":"Tamil Flash FM", 71 | "city":"Switzerland", 72 | "file":"http://188.165.192.5:8609/;stream.mp3" 73 | }, 74 | { 75 | "id":17, 76 | "name":"Tamil INI FM", 77 | "city":"USA", 78 | "file":"http://s9.voscast.com:8708/;" 79 | }, 80 | { 81 | "id":18, 82 | "name":"Tamil One Online", 83 | "city":"India", 84 | "file":"http://www.tamilone.ch:8000/stream_64" 85 | }, 86 | { 87 | "id":19, 88 | "name":"Tamil Sun FM", 89 | "city":"Canada", 90 | "file":"http://192.99.4.210:3596/;stream.mp3" 91 | }, 92 | { 93 | "id":20, 94 | "name":"TRT Tamil Oli", 95 | "city":"France", 96 | "file":"http://94.23.36.180:5006/;stream.mp3" 97 | }, 98 | { 99 | "id":21, 100 | "name":"US Tamil FM", 101 | "city":"USA", 102 | "file":"http://streaming.radio.co/s0cfc93915/listen" 103 | }, 104 | { 105 | "id":22, 106 | "name":"Varnam FM", 107 | "city":"Srilanka", 108 | "file":"http://198.178.123.8:8402/;stream.mp3" 109 | } 110 | ]; 111 | 112 | export default data; -------------------------------------------------------------------------------- /assets/telugu.js: -------------------------------------------------------------------------------- 1 | var data = [ 2 | { 3 | "id":80, 4 | "name":"Andhra Mirchi Radio", 5 | "city":"India", 6 | "file":"http://184.154.202.243:8310/stream" 7 | }, 8 | { 9 | "id":82, 10 | "name":"Hungama Radio", 11 | "city":"India", 12 | "file":"http://123.176.41.8:8356/;stream.mp3" 13 | }, 14 | { 15 | "id":83, 16 | "name":"Kokila Radio", 17 | "city":"India", 18 | "file":"http://52.3.202.102:8000/;stream/1" 19 | }, 20 | { 21 | "id":84, 22 | "name":"Manasutho Telugu FM", 23 | "city":"India", 24 | "file":"http://radio.manasutho.com:8020/;stream.mp3" 25 | }, 26 | { 27 | "id":85, 28 | "name":"Nava Tarangam", 29 | "city":"India", 30 | "file":"http://96.30.32.42:8034/;stream.mp3" 31 | }, 32 | { 33 | "id":86, 34 | "name":"Radio 9", 35 | "city":"UAE", 36 | "file":"http://174.37.252.208:8530/;stream.mp3" 37 | }, 38 | { 39 | "id":87, 40 | "name":"Radio Adhurs", 41 | "city":"New Zealand", 42 | "file":"http://142.4.217.133:8375/stream" 43 | }, 44 | { 45 | "id":88, 46 | "name":"Radio Geetam", 47 | "city":"USA", 48 | "file":"http://us1.internet-radio.com:8410/;stream/1" 49 | }, 50 | { 51 | "id":89, 52 | "name":"Radio Vayu", 53 | "city":"India", 54 | "file":"http://radiovayu.fm/admin/filmnews/filmnews.mp3" 55 | }, 56 | { 57 | "id":90, 58 | "name":"Telangana Radio", 59 | "city":"India", 60 | "file":"http://66.55.145.43:7461/;stream.mp3" 61 | }, 62 | { 63 | "id":91, 64 | "name":"Telugu One Radio", 65 | "city":"USA", 66 | "file":"http://173.203.133.187:9700/;" 67 | }, 68 | { 69 | "id":92, 70 | "name":"TG9 FM Telangana", 71 | "city":"USA", 72 | "file":"http://s6.voscast.com:10596/;" 73 | }, 74 | { 75 | "id":93, 76 | "name":"Vishada Tarangam", 77 | "city":"India", 78 | "file":"http://96.30.32.42:8052/;stream.mp3" 79 | } 80 | ]; 81 | 82 | export default data; -------------------------------------------------------------------------------- /index.android.js: -------------------------------------------------------------------------------- 1 | import { AppRegistry } from 'react-native'; 2 | import App from './App'; 3 | AppRegistry.registerComponent('reactnativeswipecardsinteraction', () => App); 4 | -------------------------------------------------------------------------------- /index.ios.js: -------------------------------------------------------------------------------- 1 | import { AppRegistry } from 'react-native'; 2 | import App from './App'; 3 | AppRegistry.registerComponent('reactnativeswipecardsinteraction', () => App); 4 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "radio-india", 3 | "version": "0.1.0", 4 | "private": true, 5 | "devDependencies": { 6 | "jest-expo": "^0.3.0", 7 | "react-test-renderer": "~15.4.1", 8 | "@kadira/react-native-storybook": "^2.0.0" 9 | }, 10 | "scripts": { 11 | "start": "react-native start", 12 | "android": "react-native run-android", 13 | "ios": "react-native run-ios", 14 | "test": "node node_modules/jest/bin/jest.js --watch", 15 | "storybook": "storybook start -p 7007" 16 | }, 17 | "jest": { 18 | "preset": "jest-expo" 19 | }, 20 | "dependencies": { 21 | "react": "~15.4.0", 22 | "react-native": "0.42.3", 23 | "react-native-audio-streaming": "^2.3.2" 24 | } 25 | } 26 | --------------------------------------------------------------------------------