Skip to content

Commit d7fb02d

Browse files
committed
gradle update and refactoring
1 parent 8074216 commit d7fb02d

9 files changed

Lines changed: 81 additions & 71 deletions

File tree

app/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ apply plugin: 'com.android.application'
22

33
android {
44
compileSdkVersion project.sdk
5-
buildToolsVersion project.buildTools
5+
66
defaultConfig {
77
applicationId "com.aykuttasil.callrecorder"
88
minSdkVersion project.minSdk

app/src/main/java/com/aykuttasil/callrecorder/MainActivity.java

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.aykuttasil.callrecorder;
22

3+
import android.media.MediaRecorder;
34
import android.os.Bundle;
45
import android.support.v7.app.AppCompatActivity;
56
import android.util.Log;
@@ -17,20 +18,18 @@ public class MainActivity extends AppCompatActivity {
1718
protected void onCreate(Bundle savedInstanceState) {
1819
super.onCreate(savedInstanceState);
1920
setContentView(R.layout.activity_main);
20-
2121
//callRecord = CallRecord.init(this);
22-
2322
callRecord = new CallRecord.Builder(this)
24-
.setRecordFileName("CallRecorderFile")
25-
.setRecordDirName("CallRecorderDir")
23+
.setRecordFileName("CallRecorderTestFile")
24+
.setRecordDirName("CallRecorderTest")
25+
.setAudioSource(MediaRecorder.AudioSource.VOICE_COMMUNICATION)
2626
.setShowSeed(true)
2727
.build();
2828

2929
//callRecord.changeReceiver(new MyCallRecordReceiver(callRecord));
3030

3131
//callRecord.enableSaveFile();
3232

33-
3433
/*
3534
callRecord = new CallRecord.Builder(this)
3635
.setRecordFileName("Record_" + new SimpleDateFormat("ddMMyyyyHHmmss", Locale.US).format(new Date()))
@@ -44,7 +43,6 @@ protected void onCreate(Bundle savedInstanceState) {
4443
4544
callRecord.startCallRecordService();
4645
*/
47-
4846
}
4947

5048
public void StartCallRecordClick(View view) {
@@ -62,4 +60,5 @@ public void StopCallRecordClick(View view) {
6260
//callRecord.disableSaveFile();
6361
//callRecord.changeRecordFileName("NewFileName");
6462
}
63+
6564
}

build.gradle

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,9 @@
1-
// Top-level build file where you can add configuration options common to all sub-projects/modules.
2-
31
buildscript {
42
repositories {
53
jcenter()
64
}
75
dependencies {
8-
classpath 'com.android.tools.build:gradle:2.3.2'
6+
classpath 'com.android.tools.build:gradle:3.0.0'
97
classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.4'
108
classpath 'com.github.dcendents:android-maven-gradle-plugin:1.4.1'
119
}
@@ -14,6 +12,15 @@ buildscript {
1412
allprojects {
1513
repositories {
1614
jcenter()
15+
mavenCentral()
16+
mavenLocal()
17+
maven { url "https://clojars.org/repo/" }
18+
maven { url "https://oss.sonatype.org/content/repositories/snapshots/" }
19+
maven { url "https://jitpack.io" }
20+
maven { url "http://dl.bintray.com/android/android-tools" }
21+
maven { url 'https://maven.fabric.io/public' }
22+
maven { url "https://jcenter.bintray.com" }
23+
google()
1724
}
1825
}
1926

@@ -22,10 +29,9 @@ task clean(type: Delete) {
2229
}
2330

2431
ext {
25-
sdk = 25
26-
buildTools = "25.0.3"
32+
sdk = 27
2733
minSdk = 17
28-
libraryVersion = "1.2.4"
29-
libraryVersionCode = 16
30-
supportVersion = "25.3.1"
34+
libraryVersion = "1.2.5"
35+
libraryVersionCode = 17
36+
supportVersion = "27.0.1"
3137
}

callrecord/build.gradle

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,7 @@
1-
allprojects {
2-
repositories {
3-
jcenter()
4-
mavenCentral()
5-
mavenLocal()
6-
maven { url "https://oss.sonatype.org/content/repositories/snapshots/" }
7-
maven { url "https://jitpack.io" }
8-
maven { url "http://dl.bintray.com/android/android-tools" }
9-
maven { url 'https://maven.fabric.io/public' }
10-
maven { url "https://jcenter.bintray.com" }
11-
}
12-
}
13-
141
apply plugin: 'com.android.library'
152

163
android {
17-
184
compileSdkVersion project.sdk
19-
buildToolsVersion project.buildTools
205

216
defaultConfig {
227
minSdkVersion project.minSdk

callrecord/src/main/java/com/aykuttasil/callrecord/CallRecord.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -150,9 +150,9 @@ public void changeReceiver(CallRecordReceiver receiver) {
150150

151151
public static class Builder {
152152
private Context mContext;
153+
153154
public Builder(Context context) {
154155
this.mContext = context;
155-
156156
PrefsHelper.writePrefString(mContext, PREF_FILE_NAME, "Record");
157157
PrefsHelper.writePrefString(mContext, PREF_DIR_NAME, "CallRecord");
158158
PrefsHelper.writePrefString(mContext, PREF_DIR_PATH, Environment.getExternalStorageDirectory().getPath());
@@ -162,6 +162,7 @@ public Builder(Context context) {
162162
PrefsHelper.writePrefBool(mContext, PREF_SHOW_SEED, true);
163163
PrefsHelper.writePrefBool(mContext, PREF_SHOW_PHONE_NUMBER, true);
164164
}
165+
165166
public CallRecord build() {
166167
CallRecord callRecord = new CallRecord(mContext);
167168
callRecord.enableSaveFile();
@@ -190,6 +191,11 @@ public int getAudioSource() {
190191
return PrefsHelper.readPrefInt(mContext, PREF_AUDIO_SOURCE);
191192
}
192193

194+
/**
195+
* @param audioSource
196+
* @return
197+
* @see MediaRecorder.AudioSource
198+
*/
193199
public Builder setAudioSource(int audioSource) {
194200
PrefsHelper.writePrefInt(mContext, PREF_AUDIO_SOURCE, audioSource);
195201
return this;

callrecord/src/main/java/com/aykuttasil/callrecord/receiver/CallRecordReceiver.java

Lines changed: 26 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -70,9 +70,7 @@ protected void onRecordingFinished(Context context, CallRecord callRecord, File
7070
}
7171

7272
private void startRecord(Context context, String seed, String phoneNumber) {
73-
7473
try {
75-
7674
boolean isSaveFile = PrefsHelper.readPrefBool(context, CallRecord.PREF_SAVE_FILE);
7775
Log.i(TAG, "isSaveFile: " + isSaveFile);
7876

@@ -140,38 +138,53 @@ private void startRecord(Context context, String seed, String phoneNumber) {
140138

141139
audiofile = File.createTempFile(file_name, suffix, sampleDir);
142140

141+
if (recorder != null) {
142+
recorder.stop();
143+
recorder.release();
144+
recorder = null;
145+
}
146+
143147
recorder = new MediaRecorder();
144148
recorder.setAudioSource(audio_source);
145149
recorder.setOutputFormat(output_format);
146150
recorder.setAudioEncoder(audio_encoder);
147151
recorder.setOutputFile(audiofile.getAbsolutePath());
148152

153+
recorder.setOnErrorListener(new MediaRecorder.OnErrorListener() {
154+
@Override
155+
public void onError(MediaRecorder mediaRecorder, int i, int i1) {
156+
Log.i("CallRecord", i + "");
157+
Log.i("CallRecord", i1 + "");
158+
}
159+
});
160+
149161
recorder.prepare();
150-
//Thread.sleep(2000);
151162
recorder.start();
152163

153164
isRecordStarted = true;
154165
onRecordingStarted(context, callRecord, audiofile);
155166

156167
Log.i(TAG, "record start");
157-
158168
} catch (IllegalStateException | IOException e) {
159169
e.printStackTrace();
160170
}
161171
}
162172

163173
private void stopRecord(Context context) {
164-
if (recorder != null && isRecordStarted) {
165-
166-
recorder.stop();
167-
recorder.reset();
168-
recorder.release();
169-
recorder = null;
174+
try {
175+
if (recorder != null && isRecordStarted) {
176+
recorder.stop();
177+
recorder.reset();
178+
recorder.release();
179+
recorder = null;
170180

171-
isRecordStarted = false;
172-
onRecordingFinished(context, callRecord, audiofile);
181+
isRecordStarted = false;
182+
onRecordingFinished(context, callRecord, audiofile);
173183

174-
Log.i(TAG, "record stop");
184+
Log.i(TAG, "record stop");
185+
}
186+
} catch (Exception e) {
187+
e.printStackTrace();
175188
}
176189
}
177190

callrecord/src/main/java/com/aykuttasil/callrecord/receiver/PhoneCallReceiver.java

Lines changed: 0 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -22,20 +22,13 @@ public abstract class PhoneCallReceiver extends BroadcastReceiver {
2222

2323
@Override
2424
public void onReceive(Context context, Intent intent) {
25-
2625
//We listen to two intents. The new outgoing call only tells us of an outgoing call. We use it to get the number.
2726
if (intent.getAction().equals(CallRecordReceiver.ACTION_OUT)) {
28-
2927
savedNumber = intent.getExtras().getString(CallRecordReceiver.EXTRA_PHONE_NUMBER);
30-
3128
} else {
32-
3329
String stateStr = intent.getExtras().getString(TelephonyManager.EXTRA_STATE);
34-
3530
String number = intent.getExtras().getString(TelephonyManager.EXTRA_INCOMING_NUMBER);
36-
3731
savedNumber = number;
38-
3932
int state = 0;
4033

4134
if (stateStr.equals(TelephonyManager.EXTRA_STATE_IDLE)) {
@@ -45,8 +38,6 @@ public void onReceive(Context context, Intent intent) {
4538
} else if (stateStr.equals(TelephonyManager.EXTRA_STATE_RINGING)) {
4639
state = TelephonyManager.CALL_STATE_RINGING;
4740
}
48-
49-
5041
onCallStateChanged(context, state, number);
5142
}
5243
}
@@ -69,61 +60,45 @@ public void onReceive(Context context, Intent intent) {
6960
//Incoming call- goes from IDLE to RINGING when it rings, to OFFHOOK when it's answered, to IDLE when its hung up
7061
//Outgoing call- goes from IDLE to OFFHOOK when it dials out, to IDLE when hung up
7162
public void onCallStateChanged(Context context, int state, String number) {
72-
7363
if (lastState == state) {
7464
//No change, debounce extras
7565
return;
7666
}
7767

7868
switch (state) {
7969
case TelephonyManager.CALL_STATE_RINGING:
80-
8170
isIncoming = true;
8271
callStartTime = new Date();
8372
savedNumber = number;
8473

8574
onIncomingCallReceived(context, number, callStartTime);
86-
8775
break;
8876
case TelephonyManager.CALL_STATE_OFFHOOK:
8977
//Transition of ringing->offhook are pickups of incoming calls. Nothing done on them
9078
if (lastState != TelephonyManager.CALL_STATE_RINGING) {
91-
9279
isIncoming = false;
9380
callStartTime = new Date();
9481

9582
onOutgoingCallStarted(context, savedNumber, callStartTime);
96-
9783
} else {
98-
9984
isIncoming = true;
10085
callStartTime = new Date();
10186

10287
onIncomingCallAnswered(context, savedNumber, callStartTime);
103-
10488
}
105-
10689
break;
10790
case TelephonyManager.CALL_STATE_IDLE:
108-
10991
//Went to idle- this is the end of a call. What type depends on previous state(s)
11092
if (lastState == TelephonyManager.CALL_STATE_RINGING) {
11193
//Ring but no pickup- a miss
112-
11394
onMissedCall(context, savedNumber, callStartTime);
114-
11595
} else if (isIncoming) {
116-
11796
onIncomingCallEnded(context, savedNumber, callStartTime, new Date());
118-
11997
} else {
120-
12198
onOutgoingCallEnded(context, savedNumber, callStartTime, new Date());
122-
12399
}
124100
break;
125101
}
126-
127102
lastState = state;
128103
}
129104
}

gradle.properties

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,35 @@
99

1010
# Specifies the JVM arguments used for the daemon process.
1111
# The setting is particularly useful for tweaking memory settings.
12-
org.gradle.jvmargs=-Xmx1536m
12+
# org.gradle.jvmargs=-Xmx1536m
1313

1414
# When configured, Gradle will run in incubating parallel mode.
1515
# This option should only be used with decoupled projects. More details, visit
1616
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
1717
# org.gradle.parallel=true
18+
19+
20+
# The Gradle daemon aims to improve the startup and execution time of Gradle.
21+
# When set to true the Gradle daemon is to run the build.
22+
org.gradle.daemon=true
23+
24+
# Specifies the JVM arguments used for the daemon process.
25+
# The setting is particularly useful for tweaking memory settings.
26+
# Default value: -Xmx10248m -XX:MaxPermSize=256m
27+
org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
28+
29+
# When configured, Gradle will run in incubating parallel mode.
30+
# This option should only be used with decoupled projects. More details, visit
31+
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
32+
org.gradle.parallel=true
33+
34+
# Enables new incubating mode that makes Gradle selective when configuring projects.
35+
# Only relevant projects are configured which results in faster builds for large multi-projects.
36+
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:configuration_on_demand
37+
org.gradle.configureondemand=true
38+
39+
# Improved incremental resource processing using AAPT2, which is now enabled by default. If you are experiencing issues while using AAPT2, please report a bug. You can also disable AAPT2 by setting android.enableAapt2=false in your gradle.properties file and restarting the Gradle daemon by running ./gradlew --stop from the command line.
40+
# https://developer.android.com/studio/releases/gradle-plugin.html#updating-plugin
41+
android.enableAapt2=false
42+
43+
org.gradle.caching=true

gradle/wrapper/gradle-wrapper.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME
33
distributionPath=wrapper/dists
44
zipStoreBase=GRADLE_USER_HOME
55
zipStorePath=wrapper/dists
6-
distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.zip
6+
distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip

0 commit comments

Comments
 (0)