Skip to content
This repository has been archived by the owner on Apr 30, 2023. It is now read-only.

Commit

Permalink
Merge pull request #1 from Arjun-sna/dev
Browse files Browse the repository at this point in the history
rel1
  • Loading branch information
Arjun authored Sep 9, 2017
2 parents a416745 + 3ac1298 commit 1178735
Show file tree
Hide file tree
Showing 170 changed files with 6,372 additions and 2,105 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,4 @@
/build
/captures
.externalNativeBuild
*/release/*
7 changes: 7 additions & 0 deletions .idea/dictionaries/arjun.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion .idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

7 changes: 7 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Android Audio Recorder App
Application to record audio and save it locally in the device. The application also visualizes the audio in wave format. It also supports recording in the background while you can continue using the device for other tasks.


<a href='https://play.google.com/store/apps/details?id=in.arjsna.audiorecorder' target='_blank'><img height='50' style='border:0px;height:50px;' src='https://cdn.rawgit.com/Arjun-sna/Arjun-sna.github.io/f8228c83/raw/GooglePlay.png' border='0' alt='GooglePlay Link' /></a>

<img src="https://arjun-sna.github.io/raw/audio_rec_1.png" width="250" /> <img src="https://arjun-sna.github.io/raw/audio_rec_2.png" width="250" /> <img src="https://arjun-sna.github.io/raw/audio_rec_3.png" width="250" /> <img src="https://arjun-sna.github.io/raw/audio_rec_4.png" width="250" /> <img src="https://arjun-sna.github.io/raw/audio_rec_6.png" width="250" />
42 changes: 31 additions & 11 deletions app/build.gradle
Original file line number Diff line number Diff line change
@@ -1,19 +1,32 @@
apply plugin: 'com.android.application'

android {
compileSdkVersion 26
buildToolsVersion "26.0.1"
compileSdkVersion 25
buildToolsVersion "25.0.3"
defaultConfig {
applicationId "in.arjsna.voicerecorder"
minSdkVersion 15
targetSdkVersion 26
applicationId "in.arjsna.audiorecorder"
minSdkVersion 16
targetSdkVersion 25
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}

repositories {
maven {
url "http://dl.bintray.com/dasar/maven"
}
}

compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}

buildTypes {
release {
minifyEnabled false
minifyEnabled true
debuggable false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
Expand All @@ -26,9 +39,16 @@ dependencies {
androidTestImplementation 'com.android.support.test:runner:1.0.1'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'

compile 'com.android.support:appcompat-v7:26.0.2'
compile 'com.android.support:cardview-v7:26.0.2'
compile 'com.android.support:recyclerview-v7:26.0.2'
compile 'com.melnykov:floatingactionbutton:1.1.0'
compile 'com.jpardogo.materialtabstrip:library:1.0.6'
compile 'com.android.support:appcompat-v7:25.4.0'
compile 'com.android.support:cardview-v7:25.4.0'
compile 'com.android.support:recyclerview-v7:25.4.0'
compile 'com.android.support:design:25.4.0'

compile 'io.reactivex.rxjava2:rxjava:2.1.2'
compile 'io.reactivex.rxjava2:rxandroid:2.0.1'
compile 'com.jakewharton.rxbinding2:rxbinding:2.0.0'

compile 'com.orhanobut:hawk:2.0.1'
compile 'uz.shift:colorpicker:0.5@aar'

}
110 changes: 104 additions & 6 deletions app/proguard-rules.pro
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,109 @@
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
# public *;
#}
-optimizations !code/simplification/arithmetic,!code/simplification/cast,!field/*,!class/merging/*
-optimizationpasses 5
-allowaccessmodification
-dontpreverify

# Uncomment this to preserve the line number information for
# debugging stack traces.
#-keepattributes SourceFile,LineNumberTable
# The remainder of this file is identical to the non-optimized version
# of the Proguard configuration file (except that the other file has
# flags to turn off optimization).

# If you keep the line number information, uncomment this to
# hide the original source file name.
#-renamesourcefileattribute SourceFile
-dontusemixedcaseclassnames
-dontskipnonpubliclibraryclasses
-verbose

-keepattributes *Annotation*
-keep public class com.google.vending.licensing.ILicensingService
-keep public class com.android.vending.licensing.ILicensingService

# For native methods, see http://proguard.sourceforge.net/manual/examples.html#native
-keepclasseswithmembernames class * {
native <methods>;
}

# keep setters in Views so that animations can still work.
# see http://proguard.sourceforge.net/manual/examples.html#beans
-keepclassmembers public class * extends android.view.View {
void set*(***);
*** get*();
}

# We want to keep methods in Activity that could be used in the XML attribute onClick
-keepclassmembers class * extends android.app.Activity {
public void *(android.view.View);
}

# For enumeration classes, see http://proguard.sourceforge.net/manual/examples.html#enumerations
-keepclassmembers enum * {
public static **[] values();
public static ** valueOf(java.lang.String);
}

-keepclassmembers class * implements android.os.Parcelable {
public static final android.os.Parcelable$Creator CREATOR;
}

-keepclassmembers class **.R$* {
public static <fields>;
}

# The support library contains references to newer platform versions.
# Don't warn about those in case this app is linking against an older
# platform version. We know about them, and they are safe.
-dontwarn android.support.**

# Understand the @Keep support annotation.
-keep class android.support.annotation.Keep

-keep @android.support.annotation.Keep class * {*;}

-keepclasseswithmembers class * {
@android.support.annotation.Keep <methods>;
}

-keepclasseswithmembers class * {
@android.support.annotation.Keep <fields>;
}

-keepclasseswithmembers class * {
@android.support.annotation.Keep <init>(...);
}

-keepattributes Signature,RuntimeVisibleAnnotations,AnnotationDefault,Annotation
-keep class com.google.** { *;}
-keep interface com.google.** { *;}
-dontwarn com.google.**
-keepclassmembers class * {
@com.google.api.client.util.Key <fields>;
}

# Needed by google-http-client-android when linking against an older platform version

-dontwarn com.google.api.client.extensions.android.**

# Needed by google-api-client-android when linking against an older platform version

-dontwarn com.google.api.client.googleapis.extensions.android.**

-keepclassmembers enum * { *; }

-dontwarn javax.xml.**
-dontwarn javax.naming.**
-dontwarn junit.textui.**
-dontwarn java.nio.**
-dontwarn java.lang.**
-dontwarn org.codehaus.**
-dontwarn sun.security.**
-dontwarn org.apache.**
-dontwarn java.awt.**
-dontwarn sun.misc.**

# Crashlytics
-keepattributes *Annotation*
-keepattributes SourceFile,LineNumberTable
-keep public class * extends java.lang.Exception
-printmapping mapping.txt
-keep class com.crashlytics.** { *; }
-dontwarn com.crashlytics.**
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package in.arjsna.voicerecorder;
package in.arjsna.audiorecorder;

import android.content.Context;
import android.support.test.InstrumentationRegistry;
Expand Down
44 changes: 29 additions & 15 deletions app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
@@ -1,43 +1,57 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="in.arjsna.voicerecorder">
package="in.arjsna.audiorecorder">

<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.RECORD_AUDIO"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/>

<application
android:allowBackup="true"
android:allowBackup="false"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".activities.MainActivity">
android:name=".AudioRecorderApp"
android:theme="@style/Theme.AppCompat.Light.NoActionBar">
<activity
android:name="in.arjsna.audiorecorder.activities.MainActivity"
android:launchMode="singleTop">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>

<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
<activity
android:name=".activities.SettingsActivity"
android:screenOrientation="portrait"
android:name="in.arjsna.audiorecorder.activities.SettingsActivity"
android:label="@string/action_settings"
android:parentActivityName=".activities.MainActivity">
android:parentActivityName="in.arjsna.audiorecorder.activities.MainActivity"
android:screenOrientation="portrait">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value=".activities.MainActivity" />
android:value="in.arjsna.audiorecorder.activities.MainActivity"/>
</activity>

<provider
android:name="android.support.v4.content.FileProvider"
android:authorities="com.danielkim.soundrecorder.fileprovider"
android:grantUriPermissions="true"
android:exported="false">
android:authorities="in.arjsna.audiorecorder.fileprovider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/filepaths" />
android:resource="@xml/filepaths"/>
</provider>
<service android:name=".RecordingService" />

<service android:name="in.arjsna.audiorecorder.recording.AudioRecordService"/>

<activity android:name="in.arjsna.audiorecorder.activities.PlayListActivity"
android:parentActivityName="in.arjsna.audiorecorder.activities.MainActivity"
android:screenOrientation="portrait">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="in.arjsna.audiorecorder.activities.MainActivity"/>
</activity>
</application>

</manifest>
8 changes: 8 additions & 0 deletions app/src/main/java/in/arjsna/audiorecorder/AppConstants.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
package in.arjsna.audiorecorder;

public class AppConstants {
public static final String ACTION_PAUSE = "in.arjsna.audiorecorder.PAUSE";
public static final String ACTION_RESUME = "in.arjsna.audiorecorder.RESUME";
public static final String ACTION_STOP = "in.arjsna.audiorecorder.STOP";
public static final String ACTION_IN_SERVICE = "in.arjsna.audiorecorder.ACTION_IN_SERVICE";
}
11 changes: 11 additions & 0 deletions app/src/main/java/in/arjsna/audiorecorder/AudioRecorderApp.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
package in.arjsna.audiorecorder;

import android.app.Application;
import com.orhanobut.hawk.Hawk;

public class AudioRecorderApp extends Application {
@Override public void onCreate() {
super.onCreate();
Hawk.init(getApplicationContext()).build();
}
}
Loading

0 comments on commit 1178735

Please sign in to comment.