Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
lig-aikuma
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Incidents
Environments
Packages & Registries
Packages & Registries
Container Registry
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Laurent Besacier
lig-aikuma
Commits
cda140ff
Commit
cda140ff
authored
May 02, 2017
by
mistermad
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
- Bug fix
- Minor changes to the user interface - Add screenshots to the base directory
parent
0052cb14
Changes
19
Hide whitespace changes
Inline
Side-by-side
Showing
19 changed files
with
63 additions
and
766 deletions
+63
-766
Lig-Aikuma/app/src/main/java/org/getalp/ligaikuma/lig_aikuma/MainActivity.java
...in/java/org/getalp/ligaikuma/lig_aikuma/MainActivity.java
+7
-17
Lig-Aikuma/app/src/main/java/org/getalp/ligaikuma/lig_aikuma/ModeSelection.java
...n/java/org/getalp/ligaikuma/lig_aikuma/ModeSelection.java
+6
-8
Lig-Aikuma/app/src/main/java/org/getalp/ligaikuma/lig_aikuma/audio/record/Mapper.java
.../org/getalp/ligaikuma/lig_aikuma/audio/record/Mapper.java
+1
-1
Lig-Aikuma/app/src/main/java/org/getalp/ligaikuma/lig_aikuma/ui/RecordElicitation.java
...org/getalp/ligaikuma/lig_aikuma/ui/RecordElicitation.java
+30
-46
Lig-Aikuma/app/src/main/java/org/getalp/ligaikuma/lig_aikuma/ui/RespeakingMetadataLig.java
...getalp/ligaikuma/lig_aikuma/ui/RespeakingMetadataLig.java
+3
-5
Lig-Aikuma/app/src/main/java/org/getalp/ligaikuma/lig_aikuma/ui/ThumbRespeakActivityLig.java
...talp/ligaikuma/lig_aikuma/ui/ThumbRespeakActivityLig.java
+15
-12
Lig-Aikuma/app/src/main/res/values-w720dp-land/strings.xml
Lig-Aikuma/app/src/main/res/values-w720dp-land/strings.xml
+0
-114
Lig-Aikuma/app/src/main/res/values-w720dp-land/styles.xml
Lig-Aikuma/app/src/main/res/values-w720dp-land/styles.xml
+0
-83
Lig-Aikuma/app/src/main/res/values-w720dp/strings.xml
Lig-Aikuma/app/src/main/res/values-w720dp/strings.xml
+0
-114
Lig-Aikuma/app/src/main/res/values-w720dp/styles.xml
Lig-Aikuma/app/src/main/res/values-w720dp/styles.xml
+0
-88
Lig-Aikuma/app/src/main/res/values-w820dp/styles.xml
Lig-Aikuma/app/src/main/res/values-w820dp/styles.xml
+0
-51
Lig-Aikuma/app/src/main/res/values/strings.xml
Lig-Aikuma/app/src/main/res/values/strings.xml
+1
-3
Lig-Aikuma/app/src/main/res/values/styles.xml
Lig-Aikuma/app/src/main/res/values/styles.xml
+0
-224
Screenshots/Screenshot_2017-04-26-15-14-09.png
Screenshots/Screenshot_2017-04-26-15-14-09.png
+0
-0
Screenshots/Screenshot_2017-04-27-10-45-36.png
Screenshots/Screenshot_2017-04-27-10-45-36.png
+0
-0
Screenshots/Screenshot_2017-04-27-10-46-44.png
Screenshots/Screenshot_2017-04-27-10-46-44.png
+0
-0
Screenshots/Screenshot_2017-04-27-10-47-28.png
Screenshots/Screenshot_2017-04-27-10-47-28.png
+0
-0
Screenshots/Screenshot_2017-04-27-10-48-18.png
Screenshots/Screenshot_2017-04-27-10-48-18.png
+0
-0
Screenshots/Screenshot_2017-04-27-12-44-56.png
Screenshots/Screenshot_2017-04-27-12-44-56.png
+0
-0
No files found.
Lig-Aikuma/app/src/main/java/org/getalp/ligaikuma/lig_aikuma/MainActivity.java
View file @
cda140ff
...
...
@@ -31,7 +31,6 @@ import android.view.MenuItem;
import
android.view.View
;
import
android.widget.ListView
;
import
android.widget.ProgressBar
;
import
android.widget.SearchView
;
import
android.widget.TextView
;
import
android.widget.Toast
;
...
...
@@ -123,11 +122,9 @@ public class MainActivity extends ListActivity {
else
Toast
.
makeText
(
this
,
"Network is disconnected"
,
Toast
.
LENGTH_SHORT
).
show
();
}
else
if
(
AikumaSettings
.
isBackupEnabled
||
AikumaSettings
.
isAutoDownloadEnabled
)
{
}
else
if
(
AikumaSettings
.
isBackupEnabled
||
AikumaSettings
.
isAutoDownloadEnabled
)
// When backup was enabled but the user hasn't ever signed-in google account
getAccountToken
();
}
// Start gathering location data
MainActivity
.
locationDetector
=
new
LocationDetector
(
this
);
...
...
@@ -321,11 +318,11 @@ public class MainActivity extends ListActivity {
}
}
/**
/*
*
* Setup the search-menu-item interface (called by MenuBehavior)
* @param menu menu object
*/
public
void
setUpSearchInterface
(
Menu
menu
)
{
*/
// Never used
/*
public void setUpSearchInterface(Menu menu) {
final MenuItem searchMenuItem = menu.findItem(R.id.search);
searchView = (SearchView) searchMenuItem.getActionView();
...
...
@@ -357,7 +354,7 @@ public class MainActivity extends ListActivity {
return true;
}
});
}
}
*/
/**
* Sync the device with Google-Cloud
...
...
@@ -404,8 +401,6 @@ public class MainActivity extends ListActivity {
BroadcastReceiver
syncReceiver
;
private
List
<
Recording
>
originals
;
SearchView
searchView
;
//TODO: START CLEANING
MenuBehaviour
menuBehaviour
;
...
...
@@ -503,7 +498,6 @@ public class MainActivity extends ListActivity {
new
GetTokenTask
(
emailAccount
,
googleAPIScope
,
settings
,
false
).
execute
();
}
else
Toast
.
makeText
(
this
,
"Network is disconnected"
,
Toast
.
LENGTH_LONG
).
show
();
return
;
}
// if (resultCode == RESULT_CANCELED) {
...
...
@@ -551,8 +545,7 @@ public class MainActivity extends ListActivity {
private
static
final
String
TAG
=
"GetTokenTask"
;
private
String
mScope
;
private
String
mEmailAccount
;
private
String
mScope
,
mEmailAccount
;
private
SharedPreferences
preferences
;
private
boolean
forceSync
;
...
...
@@ -623,10 +616,7 @@ public class MainActivity extends ListActivity {
private
static
final
int
RECOVER_FROM_AUTH_ERROR_REQUEST_CODE
=
1001
;
private
static
final
int
RECOVER_FROM_GOOGLEPLAY_ERROR_REQUEST_CODE
=
1002
;
private
String
emailAccount
;
private
String
googleAuthToken
;
private
String
googleIdToken
;
private
String
googleAPIScope
;
private
String
emailAccount
,
googleAuthToken
,
googleIdToken
,
googleAPIScope
;
////////////////////////////////////////////
...
...
Lig-Aikuma/app/src/main/java/org/getalp/ligaikuma/lig_aikuma/ModeSelection.java
View file @
cda140ff
...
...
@@ -99,8 +99,6 @@ public class ModeSelection extends Activity implements OnClickListener{
// check the existing session and show popup to propose retrieving it
prefsUserSession
=
getSharedPreferences
(
"userSession"
,
MODE_PRIVATE
);
ed
=
prefsUserSession
.
edit
();
if
(
prefsUserSession
.
getBoolean
(
"active"
,
false
))
showSessionDialog
();
}
@Override
...
...
@@ -126,7 +124,6 @@ public class ModeSelection extends Activity implements OnClickListener{
Intent
intent
=
new
Intent
(
ModeSelection
.
this
,
RespeakingSelection
.
class
);
intent
.
putExtra
(
TRANSLATE_MODE
,
true
);
startActivity
(
intent
);
// startActivity(new Intent(ModeSelection.this, TranslationSelection.class));
if
(
BuildConfig
.
DEBUG
)
Log
.
i
(
TAG
,
"Mode translation selected; view id: "
+
v
.
getId
());
break
;
case
R
.
id
.
mainElicitBtn
:
...
...
@@ -153,6 +150,10 @@ public class ModeSelection extends Activity implements OnClickListener{
public
void
onResume
()
{
super
.
onResume
();
MainActivity
.
locationDetector
.
start
();
prefsUserSession
=
getSharedPreferences
(
"userSession"
,
MODE_PRIVATE
);
if
(
prefsUserSession
.
getBoolean
(
"active"
,
false
))
showSessionDialog
();
}
@Override
...
...
@@ -162,8 +163,7 @@ public class ModeSelection extends Activity implements OnClickListener{
}
public
void
showSessionDialog
()
{
DialogFragment
dialog
=
new
UserSessionDiaglogFragment
();
dialog
.
show
(
getFragmentManager
(),
"SessionDialogFragment"
);
new
UserSessionDiaglogFragment
().
show
(
getFragmentManager
(),
"SessionDialogFragment"
);
}
@SuppressLint
(
"ValidFragment"
)
...
...
@@ -178,7 +178,6 @@ public class ModeSelection extends Activity implements OnClickListener{
setDialogDetails
(
ll
);
builder
.
setView
(
ll
)
// .setMessage("A session has been saved, would you like to retrieve it?")
.
setPositiveButton
(
R
.
string
.
yes
,
new
DialogInterface
.
OnClickListener
()
{
@Override
...
...
@@ -310,8 +309,7 @@ public class ModeSelection extends Activity implements OnClickListener{
String
savedDate
=
prefsUserSession
.
getString
(
"date"
,
""
);
Language
savedRecordLang
=
new
Language
(
prefsUserSession
.
getString
(
"Language name"
,
""
),
prefsUserSession
.
getString
(
"LanguageCode"
,
""
));
String
name
=
savedDate
+
"_"
+
savedRecordLang
.
getCode
()
+
"_"
+
idDevice
;
String
name
=
savedDate
+
"_"
+
savedRecordLang
.
getCode
()
+
"_"
+
idDevice
;
//erase linker
File
savedTextFile
=
new
File
(
FileIO
.
getOwnerPath
()+
"/recordings/"
+
name
+
"/"
+
name
+
"_linker.txt"
);
if
(
BuildConfig
.
DEBUG
)
Log
.
d
(
TAG
,
"saved linker file: "
+
savedTextFile
);
...
...
Lig-Aikuma/app/src/main/java/org/getalp/ligaikuma/lig_aikuma/audio/record/Mapper.java
View file @
cda140ff
...
...
@@ -89,7 +89,7 @@ public class Mapper {
private
void
restoreFromMappingFile
()
throws
IOException
{
String
line
;
while
((
line
=
reader
.
readLine
())
!=
null
&&
(
line
.
isEmpty
()
||
line
.
split
(
":"
).
length
<=
1
));
if
(
BuildConfig
.
DEBUG
)
Log
.
d
(
"line"
,
line
);
if
(
BuildConfig
.
DEBUG
&&
line
!=
null
)
Log
.
d
(
"line"
,
line
);
do
{
String
[]
pair
=
(
line
!=
null
)
?
line
.
split
(
":"
):
new
String
[
0
];
String
[]
strFirstSeg
=
pair
[
0
].
split
(
","
);
...
...
Lig-Aikuma/app/src/main/java/org/getalp/ligaikuma/lig_aikuma/ui/RecordElicitation.java
View file @
cda140ff
...
...
@@ -160,7 +160,8 @@ public class RecordElicitation extends AikumaActivity {
private
void
loadVideo
()
{
Log
.
d
(
TAG
,
"entityId = "
+
entityId
+
"; numberOfEntities = "
+
numberOfEntities
);
if
(
entityId
>=
numberOfEntities
)
{
Toast
.
makeText
(
this
,
R
.
string
.
no_more_videos_to_display
,
Toast
.
LENGTH_LONG
).
show
();
Toast
.
makeText
(
this
,
getResources
().
getString
(
R
.
string
.
file_saved
)
+
strFolderDate
+
"_"
+
MetadataSession
.
getMetadataSession
().
getRecordLanguage
().
getCode
()
+
"_"
+
Aikuma
.
getDeviceId
()
+
mode
+
"_"
+
entityId
,
Toast
.
LENGTH_SHORT
).
show
();
// if ((choiceMode == ElicitationMode.IMAGE_MODE || choiceMode == ElicitationMode.VIDEO_MODE) && bufferedWriter != null) {
if
(
bufferedWriter
!=
null
)
{
try
{
...
...
@@ -218,7 +219,8 @@ public class RecordElicitation extends AikumaActivity {
private
void
loadImage
()
{
if
(
BuildConfig
.
DEBUG
)
Log
.
d
(
TAG
,
"entityId = "
+
entityId
+
"; numberOfEntities = "
+
numberOfEntities
);
if
(
entityId
>=
numberOfEntities
){
Toast
.
makeText
(
this
,
R
.
string
.
no_more_images_to_display
,
Toast
.
LENGTH_LONG
).
show
();
Toast
.
makeText
(
this
,
getResources
().
getString
(
R
.
string
.
file_saved
)
+
strFolderDate
+
"_"
+
MetadataSession
.
getMetadataSession
().
getRecordLanguage
().
getCode
()
+
"_"
+
Aikuma
.
getDeviceId
()
+
mode
+
"_"
+
entityId
,
Toast
.
LENGTH_SHORT
).
show
();
// if ((choiceMode == ElicitationMode.IMAGE_MODE || choiceMode == ElicitationMode.VIDEO_MODE) && bufferedWriter != null) {
if
(
bufferedWriter
!=
null
)
{
try
{
...
...
@@ -411,7 +413,8 @@ public class RecordElicitation extends AikumaActivity {
this
.
finish
();
Toast
.
makeText
(
getApplicationContext
(),
"Error setting up microphone."
,
Toast
.
LENGTH_LONG
).
show
();
}
catch
(
IOException
e
)
{
Toast
.
makeText
(
this
,
R
.
string
.
no_more_to_display
,
Toast
.
LENGTH_LONG
).
show
();
Toast
.
makeText
(
this
,
getResources
().
getString
(
R
.
string
.
file_saved
)
+
strFolderDate
+
"_"
+
MetadataSession
.
getMetadataSession
().
getRecordLanguage
().
getCode
()
+
"_"
+
Aikuma
.
getDeviceId
()
+
mode
+
"_"
+
entityId
,
Toast
.
LENGTH_SHORT
).
show
();
if
(
BuildConfig
.
DEBUG
)
Log
.
e
(
TAG
,
"No more to display or an error occurred: "
+
e
);
this
.
finish
();
}
...
...
@@ -455,15 +458,13 @@ public class RecordElicitation extends AikumaActivity {
public
void
onNextClick
(
View
_view
)
{
if
(!
saveRecording
()
&&
(
entityId
<
numberOfEntities
-
1
))
Toast
.
makeText
(
this
,
R
.
string
.
going_next
,
Toast
.
LENGTH_SHORT
).
show
();
else
deleteAllTempFiles
();
saveOneRecord
();
_button_undo
.
setImageDrawable
(
ContextCompat
.
getDrawable
(
this
,
R
.
drawable
.
undo2
));
_button_undo
.
setEnabled
(
false
);
ImageButton
recordButton
=
(
ImageButton
)
findViewById
(
R
.
id
.
btn_record_elicit
);
recordButton
.
setImageDrawable
(
ContextCompat
.
getDrawable
(
this
,
R
.
drawable
.
record
));
recordButton
.
setEnabled
(
true
);
saveOneRecord
();
}
...
...
@@ -551,16 +552,7 @@ public class RecordElicitation extends AikumaActivity {
}
String
groupId
=
IdUtils
.
sampleFromAlphabet
(
12
,
"abcdefghijklmnopqrstuvwxyz"
);
String
sourceVerId
=
AikumaSettings
.
getLatestVersion
()
+
"-"
+
groupId
;
/* recordingLig = new RecordingLig(recordUUID, recordingName, date,
AikumaSettings.getLatestVersion(),
AikumaSettings.getCurrentUserId(), recordLang, MetadataSession.getMetadataSession().getMotherTongue(),
MetadataSession.getMetadataSession().getExtraLanguages(), speakerIds, deviceName, androidID,
null, null, sampleRate, duration,
recorder.getFormat(), recorder.getNumChannels(),
recorder.getBitsPerSample(), latitude, longitude,
MetadataSession.getMetadataSession().getRegionOrigin(),
MetadataSession.getMetadataSession().getSpeakerName(),
MetadataSession.getMetadataSession().getSpeakerAge(), gender);*/
/* recordingLig = new RecordingLig(recordUUID, recordingName, date, AikumaSettings.getLatestVersion(), AikumaSettings.getCurrentUserId(), recordLang, MetadataSession.getMetadataSession().getMotherTongue(), MetadataSession.getMetadataSession().getExtraLanguages(), speakerIds, deviceName, androidID, null, null, sampleRate, duration, recorder.getFormat(), recorder.getNumChannels(), recorder.getBitsPerSample(), latitude, longitude, MetadataSession.getMetadataSession().getRegionOrigin(), MetadataSession.getMetadataSession().getSpeakerName(), MetadataSession.getMetadataSession().getSpeakerAge(), gender);*/
recordingLig
=
new
RecordingLig
(
recordUUID
,
recordingName
,
date
,
AikumaSettings
.
getLatestVersion
(),
AikumaSettings
.
getCurrentUserId
(),
recordLang
,
MetadataSession
.
getMetadataSession
().
getMotherTongue
(),
...
...
@@ -599,29 +591,29 @@ public class RecordElicitation extends AikumaActivity {
recordingLig
.
write
();
String
filePath
=
recordingLig
.
getFile
().
getAbsolutePath
();
//absolute path of the file
String
filenamePath
=
""
;
//name of the file with its absolute path;
if
(
entityId
>=
0
&&
entityId
<
10
)
if
(
entityId
>=
0
&&
entityId
<
10
)
filenamePath
=
filePath
.
substring
(
0
,
filePath
.
length
()-
6
)+
".wav"
;
else
if
(
entityId
<
100
)
else
if
(
entityId
>=
10
&&
entityId
<
100
)
filenamePath
=
filePath
.
substring
(
0
,
filePath
.
length
()-
7
)+
".wav"
;
else
if
(
entityId
<
1000
)
else
if
(
entityId
>=
100
&&
entityId
<
1000
)
filenamePath
=
filePath
.
substring
(
0
,
filePath
.
length
()-
8
)+
".wav"
;
else
if
(
entityId
<
10000
)
else
if
(
entityId
>=
1000
&&
entityId
<
10000
)
filenamePath
=
filePath
.
substring
(
0
,
filePath
.
length
()-
9
)+
".wav"
;
else
if
(
entityId
<
100000
)
else
if
(
entityId
>=
10000
&&
entityId
<
100000
)
filenamePath
=
filePath
.
substring
(
0
,
filePath
.
length
()-
10
)+
".wav"
;
if
(
BuildConfig
.
DEBUG
)
Log
.
i
(
TAG
,
"filename path = "
+
filenamePath
);
Log
.
i
(
TAG
,
"filename path = "
+
filenamePath
);
/*audio file*/
FileUtils
.
copyFile
(
recordingLig
.
getFile
(),
new
File
(
filenamePath
));
FileIO
.
delete
(
recordingLig
.
getFile
());
FileUtils
.
copyFile
(
new
File
(
filenamePath
),
new
File
(
filenamePath
.
replace
(
".wav"
,
"_"
+
entityId
+
".wav"
)));
/*metadata file*/
// FileUtils.copyFile(new File(filenamePath.replace(".wav", "-metadata.json")),
//
new File(filenamePath.replace(".wav", "_" + entityId + "-metadata.json")));
FileUtils
.
copyFile
(
new
File
(
filenamePath
),
new
File
(
filenamePath
.
replace
(
".wav"
,
"_"
+
entityId
+
".wav"
)));
/*metadata file*/
//
FileUtils.copyFile(new File(filenamePath.replace(".wav", "-metadata.json")),
new File(filenamePath.replace(".wav", "_" + entityId + "-metadata.json")));
// FileIO.delete(new File(filenamePath.replace(".wav", "-metadata.json")));
FileIO
.
delete
(
new
File
(
filenamePath
));
recorder
.
release
();
recorder
=
null
;
//write linker file
...
...
@@ -629,13 +621,13 @@ public class RecordElicitation extends AikumaActivity {
if
(
choiceMode
==
ElicitationMode
.
IMAGE_MODE
||
choiceMode
==
ElicitationMode
.
VIDEO_MODE
)
{
// bufferedWriter.write(images[entityId].getPath() + " ; " +new File(filePath).getPath().replace(".wav", "_"+entityId+".wav"));
bufferedWriter
.
write
(
images
[
entityId
].
getPath
()
+
" ; "
+
new
File
(
filePath
).
getPath
());
if
(
BuildConfig
.
DEBUG
)
Log
.
d
(
TAG
,
"linker content : "
+
images
[
entityId
].
getPath
()
+
" ; "
+
new
File
(
filePath
));
Log
.
d
(
TAG
,
"linker content : "
+
images
[
entityId
].
getPath
()
+
" ; "
+
new
File
(
filePath
));
bufferedWriter
.
newLine
();
bufferedWriter
.
flush
();
}
else
{
// bufferedWriter.write(ptrSelectedReference + " (line "+ (entityId+1) + ") ; " + new File(filePath).getPath().replace(".wav", "_"+entityId+".wav"));
bufferedWriter
.
write
(
ptrSelectedReference
+
" (line "
+
(
entityId
+
1
)
+
") ; "
+
new
File
(
filePath
).
getPath
());
if
(
BuildConfig
.
DEBUG
)
Log
.
d
(
TAG
,
"linker content : "
+
ptrSelectedReference
+
" (line "
+
(
entityId
+
1
)
+
") ; "
+
new
File
(
filePath
).
getPath
());
Log
.
d
(
TAG
,
"linker content : "
+
ptrSelectedReference
+
" (line "
+
(
entityId
+
1
)
+
") ; "
+
new
File
(
filePath
).
getPath
());
bufferedWriter
.
newLine
();
bufferedWriter
.
flush
();
}
...
...
@@ -763,7 +755,7 @@ public class RecordElicitation extends AikumaActivity {
ed
.
putString
(
"submode"
,
"text"
);
break
;
}
ed
.
commit
();
ed
.
apply
();
}
public
void
onButtonBackPressed
(
View
v
)
{
...
...
@@ -789,7 +781,7 @@ public class RecordElicitation extends AikumaActivity {
public
void
onClick
(
DialogInterface
dialog
,
int
which
)
{
if
(
entityId
<
numberOfEntities
)
if
(
entityId
<
numberOfEntities
)
saveCurrentState
();
// if ((choiceMode == ElicitationMode.IMAGE_MODE || choiceMode == ElicitationMode.VIDEO_MODE) && bufferedWriter != null) {
...
...
@@ -801,13 +793,8 @@ public class RecordElicitation extends AikumaActivity {
}
}
if
(
isNewSession
)
{
RecordElicitation
.
this
.
finish
();
}
else
{
Intent
intent
=
new
Intent
(
RecordElicitation
.
this
,
ElicitationMode
.
class
);
startActivity
(
intent
);
finish
();
}
// Close all Activity
RecordElicitation
.
this
.
finishAffinity
();
}
})
.
setNegativeButton
(
R
.
string
.
no
,
new
DialogInterface
.
OnClickListener
()
{
...
...
@@ -827,9 +814,8 @@ public class RecordElicitation extends AikumaActivity {
if
(
BuildConfig
.
DEBUG
)
Log
.
i
(
TAG
,
"temp wave file deleted: "
+
wavFile
);
if
(
isNewSession
)
{
RecordElicitation
.
this
.
finish
();
}
else
{
Intent
intent
=
new
Intent
(
RecordElicitation
.
this
,
ElicitationMode
.
class
);
startActivity
(
intent
);
}
else
{
startActivity
(
new
Intent
(
RecordElicitation
.
this
,
ElicitationMode
.
class
));
finish
();
}
}
...
...
@@ -845,11 +831,9 @@ public class RecordElicitation extends AikumaActivity {
if
(
height
>
reqHeight
||
width
>
reqWidth
)
{
final
int
halfHeight
=
height
/
2
,
halfWidth
=
width
/
2
;
// Calculate the largest inSampleSize value that is a power of 2 and keeps both
// height and width larger than the requested height and width.
while
((
halfHeight
/
inSampleSize
)
>
reqHeight
&&
(
halfWidth
/
inSampleSize
)
>
reqWidth
)
for
(
int
halfHeight
=
height
/
2
,
halfWidth
=
width
/
2
;(
halfHeight
/
inSampleSize
)
>
reqHeight
&&
(
halfWidth
/
inSampleSize
)
>
reqWidth
;
)
inSampleSize
*=
2
;
}
...
...
Lig-Aikuma/app/src/main/java/org/getalp/ligaikuma/lig_aikuma/ui/RespeakingMetadataLig.java
View file @
cda140ff
...
...
@@ -27,7 +27,6 @@ import org.getalp.ligaikuma.lig_aikuma.lig_aikuma.BuildConfig;
import
org.getalp.ligaikuma.lig_aikuma.lig_aikuma.R
;
import
org.getalp.ligaikuma.lig_aikuma.model.Language
;
import
org.getalp.ligaikuma.lig_aikuma.model.MetadataSession
;
import
org.getalp.ligaikuma.lig_aikuma.model.Recording
;
import
org.getalp.ligaikuma.lig_aikuma.model.RecordingLig
;
import
org.getalp.ligaikuma.lig_aikuma.util.FileIO
;
import
org.json.simple.JSONArray
;
...
...
@@ -77,9 +76,8 @@ public class RespeakingMetadataLig extends AikumaActivity implements OnClickList
setContentView
(
R
.
layout
.
respeaking_metadata
);
origRecName
=
getIntent
().
getStringExtra
(
RecordActivityLig
.
intent_recordname
);
OrigDirName
=
getIntent
().
getStringExtra
(
"dirname"
);
Log
.
d
(
TAG
,
"OrigDirName = "
+
OrigDirName
+
" | origRecName = "
+
origRecName
);
MediaPlayerFactory
.
_currentReadFile
=
FileIO
.
getOwnerPath
()+
"/recordings/"
+
OrigDirName
+
"/"
+
origRecName
+
".wav"
;
Log
.
d
(
TAG
,
MediaPlayerFactory
.
_currentReadFile
);
//MediaPlayerFactory._currentReadFile = FileIO.getOwnerPath()+"/recordings/"+OrigDirName+"/"+origRecName+".wav";
//Log.d(TAG,MediaPlayerFactory._currentReadFile);
translateMode
=
getIntent
().
getBooleanExtra
(
ModeSelection
.
TRANSLATE_MODE
,
false
);
JSONObject
metaJSON
;
try
{
...
...
@@ -97,7 +95,7 @@ public class RespeakingMetadataLig extends AikumaActivity implements OnClickList
code
=
(
String
)
metaJSON
.
get
(
RecordingMetadataLig
.
metaMotherTong
);
tv
.
setText
(
new
Language
(
Aikuma
.
getLanguageCodeMap
().
get
(
code
),
code
).
getName
());
// motherTong = new Language(Aikuma.getLanguageCodeMap().get(code), code);
List
<
Language
>
languages
=
(
List
<
Language
>)
Language
.
decodeJSONArray
((
JSONArray
)
metaJSON
.
get
(
"languages"
));
List
<
Language
>
languages
=
Language
.
decodeJSONArray
((
JSONArray
)
metaJSON
.
get
(
"languages"
));
// ArrayList<Language> languages = (ArrayList<Language>)metaJSON.get("languages");
tv
=
(
TextView
)
findViewById
(
R
.
id
.
record_edit_extra_lang
);
if
(
BuildConfig
.
DEBUG
)
Log
.
d
(
TAG
,
"extra spoken languages: "
+
languages
.
size
());
...
...
Lig-Aikuma/app/src/main/java/org/getalp/ligaikuma/lig_aikuma/ui/ThumbRespeakActivityLig.java
View file @
cda140ff
...
...
@@ -10,6 +10,8 @@ import android.util.Log;
import
android.view.View
;
import
android.widget.Toast
;
import
com.semantive.waveformandroid.waveform.MediaPlayerFactory
;
import
org.getalp.ligaikuma.lig_aikuma.Aikuma
;
import
org.getalp.ligaikuma.lig_aikuma.MainActivity
;
import
org.getalp.ligaikuma.lig_aikuma.ModeSelection
;
...
...
@@ -77,10 +79,7 @@ public class ThumbRespeakActivityLig extends AikumaActivity {
@Override
public
void
onCreate
(
Bundle
savedInstanceState
)
{
super
.
onCreate
(
savedInstanceState
);
setContentView
(
R
.
layout
.
thumb_respeak
);
setRequestedOrientation
(
ActivityInfo
.
SCREEN_ORIENTATION_LANDSCAPE
);
prefsUserSession
=
getSharedPreferences
(
"userSession"
,
MODE_PRIVATE
);
fragment
=
(
ThumbRespeakFragment
)
getFragmentManager
().
findFragmentById
(
R
.
id
.
ThumbRespeakFragment
);
isNewSession
=
true
;
long
curSampl
,
totalAudioLength
;
...
...
@@ -140,11 +139,22 @@ public class ThumbRespeakActivityLig extends AikumaActivity {
recordLang
=
MetadataSession
.
getMetadataSession
().
getRecordLanguage
();
}
//Extraction of the waveform file THEN activity display
String
sourceFile
=
(!
sourceName
.
contains
(
"_elicit"
))?
sourceName:
sourceName
.
split
(
"_elicit"
)[
0
]+
"_elicit"
;
MediaPlayerFactory
.
_currentReadFile
=
FileIO
.
getOwnerPath
()+
"/recordings/"
+
sourceFile
+
"/"
+
sourceName
+
".wav"
;
if
(
new
File
(
FileIO
.
getOwnerPath
()+
"/recordings/"
+
sourceFile
+
"/"
+
sourceName
+
".wav"
).
length
()>=
125829120
)
//120MB == 125829120B
Toast
.
makeText
(
this
,
R
.
string
.
warning_source_file_exceeds_120mb_potential_source_of_error
,
Toast
.
LENGTH_LONG
).
show
();
setContentView
(
R
.
layout
.
thumb_respeak
);
setRequestedOrientation
(
ActivityInfo
.
SCREEN_ORIENTATION_LANDSCAPE
);
fragment
=
(
ThumbRespeakFragment
)
getFragmentManager
().
findFragmentById
(
R
.
id
.
ThumbRespeakFragment
);
setUpThumbRespeaker
();
fragment
.
setThumbRespeaker
(
respeaker
,
isNewSession
);
fragment
.
getRespeaker
().
getRecorder
().
setTotalAudioLength
(
totalAudioLength
);
fragment
.
getRespeaker
().
getRecorder
().
getFile
().
setCurrentSample
(
curSampl
);
fragment
.
getRespeaker
().
getRecorder
().
getFile
().
setPayloadSize
(
payLoadSize
);
fragment
.
getRespeaker
().
getRecorder
().
getFile
().
setPayloadSize
(
payLoadSize
);
}
/**
...
...
@@ -357,15 +367,8 @@ public class ThumbRespeakActivityLig extends AikumaActivity {
e1
.
printStackTrace
();
}
if
(
isNewSession
)
ThumbRespeakActivityLig
.
this
.
finish
();
else
{
Intent
intent
=
new
Intent
(
ThumbRespeakActivityLig
.
this
,
RespeakingSelection
.
class
);
intent
.
setFlags
(
Intent
.
FLAG_ACTIVITY_CLEAR_TOP
);
startActivity
(
intent
);
finish
();
}
// Close all Activity
ThumbRespeakActivityLig
.
this
.
finishAffinity
();
}
})
.
setNegativeButton
(
R
.
string
.
no
,
new
DialogInterface
.
OnClickListener
()
{
...
...
Lig-Aikuma/app/src/main/res/values-w720dp-land/strings.xml
deleted
100644 → 0
View file @
0052cb14
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string
name=
"app_name"
>
Lig-Aikuma
</string>
<string
name=
"search"
>
Search
</string>
<string
name=
"settings"
>
General Settings
</string>
<string
name=
"sync"
>
Sync
</string>
<string
name=
"record"
>
Recording
</string>
<string
name=
"mainlist"
>
Main list
</string>
<string
name=
"addLanguage"
>
Add Language
</string>
<string
name=
"recording_description"
>
Recording name
</string>
<string
name=
"share_dialog"
>
Your recording will be shared with everybody. Share?
</string>
<string
name=
"discard_dialog"
>
Are you sure you want to discard this recording?
</string>
<string
name=
"share"
>
Share
</string>
<string
name=
"cancel"
>
Cancel
</string>
<string
name=
"discard"
>
Discard
</string>
<string
name=
"restart_recording"
>
Are you sure you want to discard this
recording and start a new recording?
</string>
<string
name=
"defaultLangHeading"
>
Default languages used when adding a
speaker
</string>
<string
name=
"speaker_name"
>
Name
</string>
<string
name=
"add_iso_language"
>
Add language from list
</string>
<string
name=
"add_custom_language"
>
Add Custom Language
</string>
<string
name=
"take_photo"
>
Take photo (necessary)
</string>
<string
name=
"thumb_respeaking"
>
Thumb commentary
</string>
<string
name=
"phone_respeaking"
>
Voice-activated commentary
</string>
<string
name=
"syncSettingsHeader"
>
Connect this phone to
</string>
<string
name=
"ipAddressHint"
>
IP Address
</string>
<string
name=
"usernameHint"
>
Username
</string>
<string
name=
"passwordHint"
>
Password
</string>
<string
name=
"syncNow"
>
Sync now
</string>
<string
name=
"help"
>
Help
</string>
<string
name=
"speakers"
>
Speakers
</string>
<string
name=
"language_name"
>
Language name
</string>
<string
name=
"about"
>
About
</string>
<string
name=
"connect"
>
HTTP Server
</string>
<string
name=
"gplus_signin_menu_label"
>
Google Sign-in
</string>
<string
name=
"cloud_sync_label"
>
GoogleCloud Sync
</string>
<string
name=
"cloud_sync_setting_label"
>
GoogleCloud Settings
</string>
<string
name=
"ftp_sync_setting_label"
>
FTP Sync Settings
</string>
<string
name=
"language_setting_label"
>
Language Settings
</string>
<string
name=
"indexing_label"
>
Item Re-indexing
</string>
<string
name=
"http_dialog_success"
>
Server started at port %1$d
</string>
<string
name=
"http_dialog_failure"
>
Failed to start server
</string>
<string
name=
"http_server_activity_title"
>
HTTP Server
</string>
<string
name=
"http_server_activity_server_status"
>
Server status
</string>
<string
name=
"http_server_activity_host"
>
Host
</string>
<string
name=
"http_server_activity_port"
>
Port
</string>
<string
name=
"http_server_activity_ip"
>
IP address
</string>
<string
name=
"http_ui_start"
>
START
</string>
<string
name=
"http_ui_stop"
>
STOP
</string>
<string
name=
"http_ui_default_port"
>
8080
</string>
<string
name=
"title_activity_debug_info"
>
DebugInfo
</string>
<string
name=
"action_settings"
>
Settings
</string>
<string
name=
"debug_old_aikuma"
>
Old Aikuma
</string>
<string
name=
"metadata_mother_tongue"
>
Mother tongue
</string>
<string
name=
"add_custom_language_or"
>
Add custom language or add from list
</string>
<string
name=
"select_from_list"
>
Select from list
</string>
<string
name=
"spoken_languages"
>
Spoken languages
</string>
<string
name=
"second_language"
>
Second language
</string>
<string
name=
"more_languages"
>
More languages
</string>
<string
name=
"extra_information"
>
Extra information
</string>
<string
name=
"region_origin"
>
Region of origin
</string>
<string
name=
"region_origin_edit"
>
Type in your region of origin
</string>
<string
name=
"personal_information"
>
Personal information
</string>
<string
name=
"age"
>
Birth year
</string>
<string
name=
"age_edit"
>
Type in your age
</string>
<string
name=
"gender"
>
Gender
</string>
<string
name=
"radio_male"
>
Male
</string>
<string
name=
"radio_female"
>
Female
</string>
<string
name=
"speaker_name_edit"
>
Type in your name
</string>
<string
name=
"button_ok"
>
Ok
</string>
<string
name=
"metadata_save"
>
Save these settings into a session for the next recordings
</string>
<string
name=
"session_change"
>
Start a recording with a different session
</string>
<string
name=
"respeak"
>
Respeaking
</string>
<string
name=
"recording_metadata"
>
Reminder of the recording Metadata
</string>
<string
name=
"respeak_meta_record_lang"
>
Language of the recording
</string>
<string
name=
"respeak_meta_extra_lang"
>
Extra spoken languages
</string>
<string
name=
"respeak_meta_spkr_info"
>
Speaker details
</string>
<string
name=
"respeaking_metadata"
>
Respeaking metadata
</string>
<string
name=
"respeaking_lang"
>
Respeaking language
</string>
<string
name=
"more_languages_shorten"
>
+ Lang.
</string>
<string
name=
"speaker_info"
>
Speaker Information
</string>
<string
name=
"tradBtn"
>
Translating
</string>
<string
name=
"elicitBtn"
>
Elicitation
</string>
<string
name=
"welcome"
>
Welcome on Lig-Aikuma
</string>
<string
name=
"selectaMode"
>
Please select a mode below
</string>
<string
name=
"respeak_previous_segment"
>
Latest Segment
</string>
<string
name=
"respeakmode"
>
Respeaking mode
</string>
<string
name=
"selectanImportType"
>
Please select from where you want to import the audio file
</string>
<string
name=
"audio_import_from_phone"
>
Import Audio From Phone
</string>
<string
name=
"audio_import_from_aikuma"
>
Import Audio From Aikuma
</string>
<string
name=
"elicitationMode"
>
Elicitation mode
</string>
<string
name=
"selectanElicitMode"
>
Please select an elicitation type below
</string>
<string
name=
"elicitText"
>
Elicitation By Text
</string>
<string
name=
"text_import_from_phone"
>
Import Text From Phone
</string>
<string
name=
"elicitImage"
>
Elicitation By Image
</string>
<string
name=
"image_import_from_phone"
>
Import Image From Phone
</string>
<string
name=
"elicitVideo"
>
Elicitation By Video
</string>
<string
name=
"video_import_from_phone"
>
Import Video From Phone
</string>
<string
name=
"goBack"
>
Return
</string>
<string
name=
"metadata_selected_language"
></string>
<string
name=
"recordingLanguage"
>
Language of the recording
</string>
<string
name=
"RecordingMetadataTitle"
>
Informations about the speaker
</string>
<string
name=
"less_languages"
>
Less languages
</string>
<string
name=
"translatemode"
>
Translating Mode
</string>
<string
name=
"checkBtn"
>
Check
</string>
<string
name=
"checkMode"
>
Check mode
</string>
<string
name=
"selectaCheckMode"
>
Please select a verification type below
</string>
<string
name=
"checkVariant"
>
Word Check Variants
</string>
<string
name=
"checkTranscript"
>
Transcription Check
</string>
</resources>
Lig-Aikuma/app/src/main/res/values-w720dp-land/styles.xml
deleted
100644 → 0
View file @
0052cb14
<?xml version="1.0" encoding="utf-8"?>
<resources
xmlns:android=
"http://schemas.android.com/apk/res/android"
>
<style
name=
"MainTitle"
>
<item
name=
"android:layout_width"
>
fill_parent
</item>
<item
name=
"android:layout_height"
>
wrap_content
</item>
<item
name=
"android:textColor"
>
#4B7A98
</item>
<item
name=
"android:textSize"
>
40sp
</item>
<item
name=
"android:gravity"
>
center
</item>
</style>
<style
name=
"SecondTitle"
>
<item
name=
"android:textSize"
>
25sp
</item>
<!-- <item name="android:textColor">#E53935</item> -->
<item
name=
"android:textColor"
>
#A7C8D9
</item>
<!-- <item name="android:textAlignment">center</item> -->
</style>
<style
name=
"TextButton"
>
<item
name=
"android:layout_width"
>
fill_parent
</item>
<item
name=
"android:layout_height"
>
wrap_content
</item>
<item
name=
"android:textSize"
>
33sp
</item>
<item
name=
"android:textColor"
>
#6FA9C8
</item>
<!-- <item name="android:textAlignment">center</item> -->
</style>
<style
name=
"TextviewMetadata1"
>
<item
name=
"android:textSize"
>
40sp
</item>
<item
name=
"android:textColor"
>
#E53935
</item>
<!-- <item name="android:textAlignment">center</item> -->
<item
name=
"android:layout_marginBottom"
>
10dp
</item>
</style>
<style
name=
"TextviewMetadata2"
>