Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
yotta
/
pictogram
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
60
Merge Requests
0
Pipelines
Wiki
Settings
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
f942adcb
authored
Dec 12, 2016
by
Arturo Montejo Ráez
Browse files
Options
_('Browse Files')
Download
Plain Diff
Merge branch 'develop' of
http://scm.ujaen.es/softuno/pictogram
into develop
parents
687a18b9
2907f452
Hide whitespace changes
Inline
Side-by-side
Showing
32 changed files
with
518 additions
and
246 deletions
.gitignore
android/Pictogram/commonlibrary/src/main/java/com/yottacode/pictogram/action/Action.java
android/Pictogram/commonlibrary/src/main/java/com/yottacode/pictogram/action/PictoAction.java
android/Pictogram/commonlibrary/src/main/java/com/yottacode/pictogram/action/PictosAction.java
android/Pictogram/commonlibrary/src/main/java/com/yottacode/pictogram/action/SubscribeAction.java
android/Pictogram/commonlibrary/src/main/java/com/yottacode/pictogram/action/TalkAction.java
android/Pictogram/commonlibrary/src/main/java/com/yottacode/pictogram/action/UnsubscribeAction.java
android/Pictogram/commonlibrary/src/main/java/com/yottacode/pictogram/action/VocabularyAction.java
android/Pictogram/commonlibrary/src/main/java/com/yottacode/pictogram/dao/PCBDBHelper.java
android/Pictogram/commonlibrary/src/main/java/com/yottacode/pictogram/dao/Picto.java
android/Pictogram/commonlibrary/src/main/java/com/yottacode/pictogram/dao/User.java
android/Pictogram/commonlibrary/src/main/java/com/yottacode/pictogram/dao/UserLogin.java
android/Pictogram/commonlibrary/src/main/java/com/yottacode/pictogram/grammar/Vocabulary.java
android/Pictogram/commonlibrary/src/main/java/com/yottacode/pictogram/net/NetService.java
android/Pictogram/commonlibrary/src/main/java/com/yottacode/pictogram/net/iNetServiceDevice.java
android/Pictogram/commonlibrary/src/main/java/com/yottacode/pictogram/grammar/ActionTalk.java → android/Pictogram/commonlibrary/src/main/java/com/yottacode/pictogram/net/websockets/ActionTalk.java
android/Pictogram/commonlibrary/src/main/java/com/yottacode/pictogram/action/Room.java → android/Pictogram/commonlibrary/src/main/java/com/yottacode/pictogram/net/websockets/Room.java
android/Pictogram/commonlibrary/src/main/java/com/yottacode/pictogram/net/websockets/StudentTalk.java
android/Pictogram/commonlibrary/src/main/java/com/yottacode/pictogram/grammar/VocabularyTalk.java → android/Pictogram/commonlibrary/src/main/java/com/yottacode/pictogram/net/websockets/VocabularyTalk.java
android/Pictogram/commonlibrary/src/main/java/com/yottacode/pictogram/grammar/iActionListener.java → android/Pictogram/commonlibrary/src/main/java/com/yottacode/pictogram/net/websockets/iActionListener.java
android/Pictogram/commonlibrary/src/main/java/com/yottacode/pictogram/net/websockets/iStudentListener.java
android/Pictogram/commonlibrary/src/main/java/com/yottacode/pictogram/grammar/iVocabularyListener.java → android/Pictogram/commonlibrary/src/main/java/com/yottacode/pictogram/net/websockets/iVocabularyListener.java
android/Pictogram/commonlibrary/src/main/java/com/yottacode/pictogram/tools/PCBcontext.java
android/Pictogram/supervisor_tablet/supervisor_tablet.iml
android/Pictogram/tabletlibrary/src/main/java/com/yottacode/pictogram/tabletlibrary/gui/PictoGridAdapter.java
android/Pictogram/tabletlibrary/src/main/java/com/yottacode/pictogram/tabletlibrary/gui/PictogramActivity.java
android/Pictogram/tabletlibrary/src/main/java/com/yottacode/pictogram/tabletlibrary/gui/StudentFragmentGrid.java
android/Pictogram/tabletlibrary/src/main/java/com/yottacode/pictogram/tabletlibrary/net/NetServiceTablet.java
android/Pictogram/watch/src/main/java/com/yottacode/pictogram/watch/net/NetServiceWatch.java
android/Pictogram/watch/watch.iml
android/Pictogram/yotta_tablet/build.gradle
android/Pictogram/yotta_tablet/yotta_tablet.iml
.gitignore
View file @
f942adcb
...
@@ -13,6 +13,7 @@ sails/upload
...
@@ -13,6 +13,7 @@ sails/upload
sails/symbolstx*
sails/symbolstx*
sails/src/assets/symbolstx*
sails/src/assets/symbolstx*
sails/src/assets/upload
sails/src/assets/upload
sails/upload.tgz
# Webapp #
# Webapp #
##########
##########
...
@@ -53,6 +54,10 @@ android/Pictogram/commonlibrary/gradlew.bat
...
@@ -53,6 +54,10 @@ android/Pictogram/commonlibrary/gradlew.bat
android/Pictogram/tablet/tablet.iml
android/Pictogram/tablet/tablet.iml
android/Pictogram/watch/watch.iml
android/Pictogram/watch/watch.iml
android/Pictogram/Pictogrammar.iml
android/Pictogram/Pictogrammar.iml
android/Pictogram/supervisor_tablet.iml
android/Pictogram/yotta_tablet.iml
android/Pictogram/tabletlibrary.iml
android/Pictogram/commonlibrary/build
android/Pictogram/commonlibrary/build
android/Pictogram/commonlibrary/build
android/Pictogram/tablet/build
android/Pictogram/tablet/build
android/Pictogram/watch/build
android/Pictogram/watch/build
...
...
android/Pictogram/commonlibrary/src/main/java/com/yottacode/pictogram/action/Action.java
View file @
f942adcb
...
@@ -2,16 +2,14 @@ package com.yottacode.pictogram.action;
...
@@ -2,16 +2,14 @@ package com.yottacode.pictogram.action;
import
android.util.Log
;
import
android.util.Log
;
import
com.yottacode.pictogram.
dao.Picto
;
import
com.yottacode.pictogram.
net.websockets.Room
;
import
com.yottacode.pictogram.tools.PCBcontext
;
import
com.yottacode.pictogram.tools.PCBcontext
;
import
org.json.JSONArray
;
import
org.json.JSONException
;
import
org.json.JSONException
;
import
org.json.JSONObject
;
import
org.json.JSONObject
;
import
java.text.SimpleDateFormat
;
import
java.text.SimpleDateFormat
;
import
java.util.Date
;
import
java.util.Date
;
import
java.util.LinkedList
;
/**
/**
* User actions that happens when the user is online --> they are sent to the server by websockets (Room class)
* User actions that happens when the user is online --> they are sent to the server by websockets (Room class)
...
@@ -39,7 +37,7 @@ public abstract class Action {
...
@@ -39,7 +37,7 @@ public abstract class Action {
public
String
get_type
()
{
return
this
.
type
;}
public
String
get_type
()
{
return
this
.
type
;}
public
abstract
String
get_action
();
public
abstract
String
get_action
();
p
rotected
JSONObject
get_json
()
{
p
ublic
JSONObject
get_json
()
{
final
String
param_id_stu
=
"id_stu"
;
final
String
param_id_stu
=
"id_stu"
;
final
String
param_id_sup
=
"id_sup"
;
final
String
param_id_sup
=
"id_sup"
;
final
String
param_id_dev
=
"id_dev"
;
final
String
param_id_dev
=
"id_dev"
;
...
...
android/Pictogram/commonlibrary/src/main/java/com/yottacode/pictogram/action/PictoAction.java
View file @
f942adcb
...
@@ -2,6 +2,7 @@ package com.yottacode.pictogram.action;
...
@@ -2,6 +2,7 @@ package com.yottacode.pictogram.action;
import
android.util.Log
;
import
android.util.Log
;
import
com.yottacode.pictogram.net.websockets.Room
;
import
com.yottacode.pictogram.dao.Picto
;
import
com.yottacode.pictogram.dao.Picto
;
import
com.yottacode.pictogram.tools.PCBcontext
;
import
com.yottacode.pictogram.tools.PCBcontext
;
...
...
android/Pictogram/commonlibrary/src/main/java/com/yottacode/pictogram/action/PictosAction.java
View file @
f942adcb
...
@@ -2,15 +2,13 @@ package com.yottacode.pictogram.action;
...
@@ -2,15 +2,13 @@ package com.yottacode.pictogram.action;
import
android.util.Log
;
import
android.util.Log
;
import
com.yottacode.pictogram.net.websockets.Room
;
import
com.yottacode.pictogram.dao.Picto
;
import
com.yottacode.pictogram.dao.Picto
;
import
com.yottacode.pictogram.tools.PCBcontext
;
import
org.json.JSONArray
;
import
org.json.JSONArray
;
import
org.json.JSONException
;
import
org.json.JSONException
;
import
org.json.JSONObject
;
import
org.json.JSONObject
;
import
java.text.SimpleDateFormat
;
import
java.util.Date
;
import
java.util.LinkedList
;
import
java.util.LinkedList
;
/**
/**
...
...
android/Pictogram/commonlibrary/src/main/java/com/yottacode/pictogram/action/SubscribeAction.java
View file @
f942adcb
package
com
.
yottacode
.
pictogram
.
action
;
package
com
.
yottacode
.
pictogram
.
action
;
import
com.yottacode.pictogram.
dao.Picto
;
import
com.yottacode.pictogram.
net.websockets.Room
;
/**
/**
* User actions regarding a pictogram that happens when the user is online --> they are sent to the server by websockets (Room class)
* User actions regarding a pictogram that happens when the user is online --> they are sent to the server by websockets (Room class)
...
...
android/Pictogram/commonlibrary/src/main/java/com/yottacode/pictogram/action/TalkAction.java
View file @
f942adcb
package
com
.
yottacode
.
pictogram
.
action
;
package
com
.
yottacode
.
pictogram
.
action
;
import
com.yottacode.pictogram.net.websockets.Room
;
import
com.yottacode.pictogram.dao.Picto
;
import
com.yottacode.pictogram.dao.Picto
;
/**
/**
...
...
android/Pictogram/commonlibrary/src/main/java/com/yottacode/pictogram/action/UnsubscribeAction.java
View file @
f942adcb
package
com
.
yottacode
.
pictogram
.
action
;
package
com
.
yottacode
.
pictogram
.
action
;
import
com.yottacode.pictogram.net.websockets.Room
;
/**
/**
* User actions regarding a pictogram that happens when the user is online --> they are sent to the server by websockets (Room class)
* User actions regarding a pictogram that happens when the user is online --> they are sent to the server by websockets (Room class)
* It is required, inter alia, to support session state diagram such
* It is required, inter alia, to support session state diagram such
...
...
android/Pictogram/commonlibrary/src/main/java/com/yottacode/pictogram/action/VocabularyAction.java
View file @
f942adcb
package
com
.
yottacode
.
pictogram
.
action
;
package
com
.
yottacode
.
pictogram
.
action
;
import
android.util.Log
;
import
com.yottacode.pictogram.net.websockets.Room
;
import
com.yottacode.pictogram.dao.Picto
;
import
com.yottacode.pictogram.dao.Picto
;
import
com.yottacode.pictogram.tools.PCBcontext
;
import
org.json.JSONException
;
import
org.json.JSONObject
;
/**
/**
* User actions regarding a pictogram that happens when the user is online --> they are sent to the server by websockets (Room class)
* User actions regarding a pictogram that happens when the user is online --> they are sent to the server by websockets (Room class)
...
@@ -35,4 +30,4 @@ public class VocabularyAction extends PictoAction {
...
@@ -35,4 +30,4 @@ public class VocabularyAction extends PictoAction {
public
String
get_action
()
{
return
ACTION
;}
public
String
get_action
()
{
return
ACTION
;}
}
}
\ No newline at end of file
android/Pictogram/commonlibrary/src/main/java/com/yottacode/pictogram/dao/PCBDBHelper.java
View file @
f942adcb
...
@@ -83,7 +83,8 @@ public class PCBDBHelper extends SQLiteOpenHelper {
...
@@ -83,7 +83,8 @@ public class PCBDBHelper extends SQLiteOpenHelper {
* @param user the current PCB user (Student or Supervisor with a given Student collection)
* @param user the current PCB user (Student or Supervisor with a given Student collection)
* @see PCBDBHelper#getCurrentUser()
* @see PCBDBHelper#getCurrentUser()
*/
*/
private
void
setCurrentUser
(
User
user
)
{
public
void
setCurrentUser
(
User
user
)
{
Log
.
i
(
getClass
().
getCanonicalName
(),
"user "
+
user
.
get_name_stu
()+
" "
+
user
.
get_json_attrs
());
this
.
currentUser
=
user
;
this
.
currentUser
=
user
;
PCBcontext
.
getDevice
().
setLastStuId
(
user
.
get_id_stu
());
PCBcontext
.
getDevice
().
setLastStuId
(
user
.
get_id_stu
());
if
(
user
.
is_supervisor
())
PCBcontext
.
getDevice
().
setLastSupId
(
user
.
get_id_sup
());
if
(
user
.
is_supervisor
())
PCBcontext
.
getDevice
().
setLastSupId
(
user
.
get_id_sup
());
...
...
android/Pictogram/commonlibrary/src/main/java/com/yottacode/pictogram/dao/Picto.java
View file @
f942adcb
package
com
.
yottacode
.
pictogram
.
dao
;
package
com
.
yottacode
.
pictogram
.
dao
;
import
android.content.Context
;
import
android.graphics.Bitmap
;
import
android.graphics.BitmapFactory
;
import
android.graphics.Canvas
;
import
android.graphics.Color
;
import
android.graphics.Color
;
import
android.graphics.Matrix
;
import
android.graphics.Paint
;
import
android.graphics.PorterDuff
;
import
android.util.Log
;
import
android.util.Log
;
import
android.util.TypedValue
;
import
android.view.Gravity
;
import
android.widget.TextView
;
import
com.yottacode.pictogram.action.VocabularyAction
;
import
com.yottacode.pictogram.action.VocabularyAction
;
import
com.yottacode.pictogram.net.PictoUploader
;
import
com.yottacode.pictogram.net.PictoUploader
;
...
@@ -11,6 +24,10 @@ import com.yottacode.pictogram.tools.PCBcontext;
...
@@ -11,6 +24,10 @@ import com.yottacode.pictogram.tools.PCBcontext;
import
org.json.JSONException
;
import
org.json.JSONException
;
import
org.json.JSONObject
;
import
org.json.JSONObject
;
import
java.io.File
;
import
java.io.FileInputStream
;
import
java.io.IOException
;
/**
/**
* A object which represents a pictogram
* A object which represents a pictogram
* *
* *
...
@@ -18,6 +35,8 @@ import org.json.JSONObject;
...
@@ -18,6 +35,8 @@ import org.json.JSONObject;
* @version 1.0
* @version 1.0
*/
*/
public
class
Picto
extends
Img
{
public
class
Picto
extends
Img
{
int
cont
=
0
;
Bitmap
bitmap
;
// String constant for logs
// String constant for logs
private
final
String
LOG_TAG
=
this
.
getClass
().
getSimpleName
();
// Or .getCanonicalName()
private
final
String
LOG_TAG
=
this
.
getClass
().
getSimpleName
();
// Or .getCanonicalName()
...
@@ -35,6 +54,14 @@ public class Picto extends Img {
...
@@ -35,6 +54,14 @@ public class Picto extends Img {
public
static
String
PCB_STATUS_MODIFICATION
=
"pcb_status_modification"
;
public
static
String
PCB_STATUS_MODIFICATION
=
"pcb_status_modification"
;
public
static
String
EXPRESSION
=
"expression"
;
public
static
String
EXPRESSION
=
"expression"
;
public
static
String
MIRROR
=
"mirror"
;
public
static
String
MIRROR
=
"mirror"
;
public
static
String
LEGEND
=
"legend"
;
}
public
final
static
class
JSON_ATTTR_LEGEND_VALUES
{
static
String
NONE
=
"none"
;
static
String
NORMAL
=
"normal"
;
static
String
FULL
=
"full"
;
}
}
public
final
static
class
JSON_ATTTR_STATUS_VALUES
{
public
final
static
class
JSON_ATTTR_STATUS_VALUES
{
...
@@ -62,7 +89,8 @@ public class Picto extends Img {
...
@@ -62,7 +89,8 @@ public class Picto extends Img {
.
put
(
JSON_ATTTRS
.
ROW
,
row
)
.
put
(
JSON_ATTTRS
.
ROW
,
row
)
.
put
(
JSON_ATTTRS
.
FREE_ROW
,
freeRow
)
.
put
(
JSON_ATTTRS
.
FREE_ROW
,
freeRow
)
.
put
(
JSON_ATTTRS
.
FREE_COLUMN
,
freeColumn
)
.
put
(
JSON_ATTTRS
.
FREE_COLUMN
,
freeColumn
)
.
put
(
JSON_ATTTRS
.
STATUS
,
JSON_ATTTR_STATUS_VALUES
.
ENABLED
));
.
put
(
JSON_ATTTRS
.
STATUS
,
JSON_ATTTR_STATUS_VALUES
.
ENABLED
)
.
put
(
JSON_ATTTRS
.
LEGEND
,
JSON_ATTTR_LEGEND_VALUES
.
NONE
));
}
}
public
Picto
(
int
id
,
String
url
,
String
translation
,
String
attributes
)
throws
JSONException
{
public
Picto
(
int
id
,
String
url
,
String
translation
,
String
attributes
)
throws
JSONException
{
this
(
id
,
url
,
translation
,
new
JSONObject
(
attributes
));
this
(
id
,
url
,
translation
,
new
JSONObject
(
attributes
));
...
@@ -235,6 +263,18 @@ public class Picto extends Img {
...
@@ -235,6 +263,18 @@ public class Picto extends Img {
}
}
}
}
/**
*
* @return the legend of a picto (none | normal | full)
*/
public
String
get_legend
()
{
try
{
return
this
.
attributes
.
getString
(
JSON_ATTTRS
.
LEGEND
);
}
catch
(
JSONException
e
)
{
return
"none"
;
// By default
}
}
/**
/**
*
*
* @return the row of the picto
* @return the row of the picto
...
@@ -361,4 +401,131 @@ public class Picto extends Img {
...
@@ -361,4 +401,131 @@ public class Picto extends Img {
PCBcontext
.
getPcbdb
().
modifyPicto
(
this
.
get_id
(),
this
.
get_json_attrs
());
PCBcontext
.
getPcbdb
().
modifyPicto
(
this
.
get_id
(),
this
.
get_json_attrs
());
}
}
}
}
/**
* override method that draw the legend on the picto bitmap
*/
@Override
public
Bitmap
get_bitmap
(
Context
context
)
throws
IOException
{
if
(
bitmap
==
null
)
{
File
file
=
file
(
context
);
if
(
file
.
exists
())
{
FileInputStream
is
=
new
FileInputStream
(
file
);
this
.
bitmap
=
BitmapFactory
.
decodeStream
(
is
);
is
.
close
();
}
}
Paint
paint
=
new
Paint
(
Paint
.
ANTI_ALIAS_FLAG
);
int
width
=
bitmap
.
getWidth
();
//Ancho original
int
height
=
bitmap
.
getHeight
();
//Alto original
int
dens
=
bitmap
.
getDensity
();
if
(!
get_legend
().
equals
(
JSON_ATTTR_LEGEND_VALUES
.
NONE
)){
String
texto
=
this
.
translation
.
toUpperCase
();
String
[]
words
=
texto
.
split
(
" "
);
StringBuffer
txt
=
new
StringBuffer
();
if
(
words
.
length
==
1
)
{
if
(
words
[
0
].
length
()
>
10
)
{
texto
=
""
;
int
mitad
=
(
words
[
0
].
length
()
/
2
)
-
1
;
char
r
=
words
[
0
].
charAt
(
mitad
);
char
r2
=
words
[
0
].
charAt
(
mitad
+
1
);
while
((
r2
==
'A'
||
r2
==
'E'
||
r2
==
'I'
||
r2
==
'O'
||
r2
==
'U'
)
&&
(
r
!=
'A'
||
r
!=
'E'
||
r
!=
'I'
||
r
!=
'O'
||
r
!=
'U'
))
{
mitad
++;
r
=
words
[
0
].
charAt
(
mitad
);
r2
=
words
[
0
].
charAt
(
mitad
+
1
);
}
int
i
=
0
;
while
(
i
<=
mitad
)
{
txt
.
append
(
words
[
0
].
charAt
(
i
));
i
++;
}
int
diff
=
10
-
mitad
;
diff
-=
1
;
txt
.
append
(
"-"
);
while
(
diff
!=
10
)
{
txt
.
append
(
" "
);
diff
++;
}
while
(
i
<
words
[
0
].
length
())
{
txt
.
append
(
words
[
0
].
charAt
(
i
));
i
++;
}
texto
=
txt
.
toString
();
}
}
if
(
get_legend
().
equals
(
JSON_ATTTR_LEGEND_VALUES
.
NORMAL
))
{
//Normal legend
android
.
graphics
.
Bitmap
.
Config
bitmapConfig
=
bitmap
.
getConfig
();
if
(
bitmapConfig
==
null
)
{
bitmapConfig
=
android
.
graphics
.
Bitmap
.
Config
.
ARGB_8888
;
}
bitmap
=
bitmap
.
copy
(
bitmapConfig
,
true
);
Canvas
canvas
=
new
Canvas
(
bitmap
);
if
(
cont
==
0
)
{
Bitmap
bm
=
Bitmap
.
createScaledBitmap
(
bitmap
,
width
/
2
,
height
/
2
,
false
);
canvas
.
drawColor
(
Color
.
TRANSPARENT
,
PorterDuff
.
Mode
.
CLEAR
);
//Poner en blanco el bitmap original para dibujar encima
canvas
.
drawBitmap
(
bm
,
25
,
0
,
paint
);
cont
++;
TextView
textView
=
new
TextView
(
context
);
textView
.
layout
(
0
,
50
,
100
,
100
);
textView
.
setPadding
(
0
,
0
,
0
,
0
);
textView
.
setTextSize
(
TypedValue
.
COMPLEX_UNIT_PX
,
13
);
textView
.
setTextColor
(
Color
.
BLACK
);
textView
.
setBackgroundColor
(
Color
.
WHITE
);
textView
.
setWidth
(
100
);
textView
.
setGravity
(
Gravity
.
CENTER_HORIZONTAL
);
textView
.
setMaxLines
(
4
);
textView
.
setText
(
texto
);
textView
.
setDrawingCacheEnabled
(
true
);
canvas
.
drawBitmap
(
textView
.
getDrawingCache
(),
0
,
50
,
null
);
}
}
else
{
//Only legend
android
.
graphics
.
Bitmap
.
Config
bitmapConfig
=
bitmap
.
getConfig
();
if
(
bitmapConfig
==
null
)
{
bitmapConfig
=
android
.
graphics
.
Bitmap
.
Config
.
ARGB_8888
;
}
bitmap
=
bitmap
.
copy
(
bitmapConfig
,
true
);
Canvas
canvas
=
new
Canvas
(
bitmap
);
paint
.
setColor
(
Color
.
WHITE
);
canvas
.
drawRect
(
0
,
0
,
100
,
100
,
paint
);
TextView
textView
=
new
TextView
(
context
);
textView
.
layout
(
0
,
0
,
100
,
100
);
textView
.
setPadding
(
0
,
0
,
0
,
0
);
textView
.
setTextSize
(
TypedValue
.
COMPLEX_UNIT_PX
,
13
);
textView
.
setTextColor
(
Color
.
BLACK
);
textView
.
setWidth
(
100
);
textView
.
setGravity
(
Gravity
.
CENTER_HORIZONTAL
);
textView
.
setMaxLines
(
2
);
textView
.
setText
(
texto
);
textView
.
setDrawingCacheEnabled
(
true
);
canvas
.
drawBitmap
(
textView
.
getDrawingCache
(),
0
,
25
,
null
);
}
}
return
bitmap
;
}
}
}
android/Pictogram/commonlibrary/src/main/java/com/yottacode/pictogram/dao/User.java
View file @
f942adcb
...
@@ -27,8 +27,8 @@ public class User {
...
@@ -27,8 +27,8 @@ public class User {
public
final
static
class
JSON_STUDENT_ATTTRS
{
public
final
static
class
JSON_STUDENT_ATTTRS
{
static
String
CATEGORIES
=
"categories"
;
static
String
CATEGORIES
=
"categories"
;
static
String
INPUT_FEEDBACK
=
"input_feedback"
;
static
String
INPUT_FEEDBACK
=
"input_feedback"
;
static
String
INPUT_SELECTION
=
"input
selection"
;
static
String
INPUT_SELECTION
=
"input
_
selection"
;
static
String
PICTOGRAM_SIZE
=
"
pictogram
size"
;
static
String
PICTOGRAM_SIZE
=
"size"
;
static
String
TTS_ENGINE
=
"tts engine"
;
static
String
TTS_ENGINE
=
"tts engine"
;
static
String
TTS_VOICE
=
"tts voice"
;
static
String
TTS_VOICE
=
"tts voice"
;
}
}
...
...
android/Pictogram/commonlibrary/src/main/java/com/yottacode/pictogram/dao/UserLogin.java
View file @
f942adcb
...
@@ -194,6 +194,7 @@ public class UserLogin {
...
@@ -194,6 +194,7 @@ public class UserLogin {
GUITools
.
show_alert
(
activity
,
R
.
string
.
serverError
,
e
.
getMessage
());
GUITools
.
show_alert
(
activity
,
R
.
string
.
serverError
,
e
.
getMessage
());
Log
.
e
(
this
.
getClass
().
getCanonicalName
(),
"JSON:"
+
e
.
getLocalizedMessage
());
Log
.
e
(
this
.
getClass
().
getCanonicalName
(),
"JSON:"
+
e
.
getLocalizedMessage
());
if
(
progressDialog
.
isShowing
())
progressDialog
.
dismiss
();
if
(
progressDialog
.
isShowing
())
progressDialog
.
dismiss
();
}
}
}
}
...
@@ -225,7 +226,7 @@ public class UserLogin {
...
@@ -225,7 +226,7 @@ public class UserLogin {
}
}
}
//offline student login
}
//offline student login
}
}
p
rivate
void
set_student_oline
(
final
User
student
,
String
token
,
final
Intent
pictogramActivity
,
final
Activity
activity
)
{
p
ublic
void
set_student_oline
(
final
User
student
,
String
token
,
final
Intent
pictogramActivity
,
final
Activity
activity
)
{
final
ProgressDialog
progressDialog
=
ProgressDialog
.
show
(
activity
,
activity
.
getString
(
R
.
string
.
userLoadingTxt
),
activity
.
getString
(
R
.
string
.
loadingGrammar
));
final
ProgressDialog
progressDialog
=
ProgressDialog
.
show
(
activity
,
activity
.
getString
(
R
.
string
.
userLoadingTxt
),
activity
.
getString
(
R
.
string
.
loadingGrammar
));
PCBcontext
.
set_user
(
student
,
token
,
new
iImgDownloaderListener
()
{
PCBcontext
.
set_user
(
student
,
token
,
new
iImgDownloaderListener
()
{
...
...
android/Pictogram/commonlibrary/src/main/java/com/yottacode/pictogram/grammar/Vocabulary.java
View file @
f942adcb
...
@@ -5,12 +5,16 @@ import android.util.Log;
...
@@ -5,12 +5,16 @@ import android.util.Log;
import
com.yottacode.net.iRestapiListener
;
import
com.yottacode.net.iRestapiListener
;
import
com.yottacode.pictogram.R
;
import
com.yottacode.pictogram.R
;
import
com.yottacode.pictogram.action.Room
;
import
com.yottacode.pictogram.action.VocabularyAction
;
import
com.yottacode.pictogram.action.VocabularyAction
;
import
com.yottacode.pictogram.dao.Picto
;
import
com.yottacode.pictogram.dao.Picto
;
import
com.yottacode.pictogram.net.ImgDownloader
;
import
com.yottacode.pictogram.net.ImgDownloader
;
import
com.yottacode.pictogram.net.PictoUploader
;
import
com.yottacode.pictogram.net.PictoUploader
;
import
com.yottacode.pictogram.net.iImgDownloaderListener
;
import
com.yottacode.pictogram.net.iImgDownloaderListener
;
import
com.yottacode.pictogram.net.websockets.ActionTalk
;
import
com.yottacode.pictogram.net.websockets.Room
;
import
com.yottacode.pictogram.net.websockets.VocabularyTalk
;
import
com.yottacode.pictogram.net.websockets.iActionListener
;
import
com.yottacode.pictogram.net.websockets.iVocabularyListener
;
import
com.yottacode.pictogram.tools.Img
;
import
com.yottacode.pictogram.tools.Img
;
import
com.yottacode.pictogram.tools.PCBcontext
;
import
com.yottacode.pictogram.tools.PCBcontext
;
import
com.yottacode.tools.GUITools
;
import
com.yottacode.tools.GUITools
;
...
@@ -61,7 +65,7 @@ public class Vocabulary implements Iterable<Picto> {
...
@@ -61,7 +65,7 @@ public class Vocabulary implements Iterable<Picto> {
}
}
public
void
listen
(
Room
room
,
iVocabularyListener
listener
,
iActionListener
action_listener
)
{
public
void
listen
(
Room
room
,
iVocabularyListener
listener
,
iActionListener
action_listener
)
{
iVocabularyListener
listeners
[]
=
{
new
iVocabularyListener
()
{
iVocabularyListener
vocabulary_
listeners
[]
=
{
new
iVocabularyListener
()
{
@Override
@Override
public
void
change
(
action
action
,
int
picto_cat
,
int
picto_id
,
JSONObject
args
)
{
public
void
change
(
action
action
,
int
picto_cat
,
int
picto_id
,
JSONObject
args
)
{
switch
(
action
)
{
switch
(
action
)
{
...
@@ -98,8 +102,9 @@ public class Vocabulary implements Iterable<Picto> {
...
@@ -98,8 +102,9 @@ public class Vocabulary implements Iterable<Picto> {
}
}
}
}
},
listener
};
},
listener
};
new
VocabularyTalk
(
room
,
listeners
);
new
VocabularyTalk
(
room
,
vocabulary_
listeners
);
new
ActionTalk
(
room
,
new
iActionListener
[]
{
action_listener
});
new
ActionTalk
(
room
,
new
iActionListener
[]
{
action_listener
});
}
}
/**
/**
...
...
android/Pictogram/commonlibrary/src/main/java/com/yottacode/pictogram/net/NetService.java
View file @
f942adcb
...
@@ -67,7 +67,7 @@ public class NetService implements Runnable {
...
@@ -67,7 +67,7 @@ public class NetService implements Runnable {
@Override
@Override
public
void
error
(
Exception
e
)
{
public
void
error
(
Exception
e
)
{
Log
.
e
(
this
.
getClass
().
getSimpleName
(),
"Error un when server login:"
+
e
.
getMessage
());
Log
.
e
(
this
.
getClass
().
getSimpleName
(),
"Error un when server login:"
+
e
.
getMessage
());
if
(
e
instanceof
LoginException
)
NetService
.
this
.
device
.
restart_app
();
if
(
e
instanceof
LoginException
)
NetService
.
this
.
device
.
restart_app
(
false
);
}
}
});
});
else
ServerLogin
.
login_student
(
user
.
get_nickname_stu
(),
user
.
get_pwd_stu
(),
new
iRestapiListener
()
{
else
ServerLogin
.
login_student
(
user
.
get_nickname_stu
(),
user
.
get_pwd_stu
(),
new
iRestapiListener
()
{
...
@@ -89,19 +89,19 @@ public class NetService implements Runnable {
...
@@ -89,19 +89,19 @@ public class NetService implements Runnable {
@Override
@Override
public
void
error
(
Exception
e
)
{
public
void
error
(
Exception
e
)
{
Log
.
e
(
this
.
getClass
().
getSimpleName
(),
"Error un when server login:"
+
e
.
getMessage
());
Log
.
e
(
this
.
getClass
().
getSimpleName
(),
"Error un when server login:"
+
e
.
getMessage
());
if
(
e
instanceof
LoginException
)
NetService
.
this
.
device
.
restart_app
();
if
(
e
instanceof
LoginException
)
NetService
.
this
.
device
.
restart_app
(
false
);
}
}
});
});
}
}
public
boolean
online
()
{
return
updated
;}
public
boolean
online
()
{
return
updated
;}
public
void
restart_app
()
{
public
void
restart_app
(
boolean
direct_login
)
{
PCBcontext
.
unset_user
();
PCBcontext
.
unset_user
();
this
.
device
.
restart_app
();
this
.
device
.
restart_app
(
direct_login
);
}
}
public
void
restart_app
(
Intent
intent
)
{
public
void
restart_app
(
Intent
intent
,
boolean
direct_login
)
{
PCBcontext
.
unset_user
();
PCBcontext
.
unset_user
();
this
.
device
.
restart_app
(
intent
);
this
.
device
.
restart_app
(
intent
,
direct_login
);
}
}
/**
/**
...
@@ -158,4 +158,8 @@ public class NetService implements Runnable {
...
@@ -158,4 +158,8 @@ public class NetService implements Runnable {
Log
.
e
(
this
.
getClass
().
getName
(),
"PCB offline because exception happens: "
+
e
.
getMessage
());
Log
.
e
(
this
.
getClass
().
getName
(),
"PCB offline because exception happens: "
+
e
.
getMessage
());
notifyStatus
();
notifyStatus
();
}
}
public
iNetServiceDevice
getNetServiceDevice
()
{
return
this
.
device
;
}
}
}
android/Pictogram/commonlibrary/src/main/java/com/yottacode/pictogram/net/iNetServiceDevice.java
View file @
f942adcb
...
@@ -2,6 +2,8 @@ package com.yottacode.pictogram.net;
...
@@ -2,6 +2,8 @@ package com.yottacode.pictogram.net;
import
android.content.Intent
;
import
android.content.Intent
;
import
com.yottacode.pictogram.dao.User
;
/**
/**
* Created by Fernando on 12/08/2016.
* Created by Fernando on 12/08/2016.
*/
*/
...
@@ -10,6 +12,7 @@ public interface iNetServiceDevice {
...
@@ -10,6 +12,7 @@ public interface iNetServiceDevice {
public
void
build
();
public
void
build
();
public
void
notifyStatus
(
boolean
updated
);
public
void
notifyStatus
(
boolean
updated
);
public
void
closeNotifyStatus
();
public
void
closeNotifyStatus
();
public
void
restart_app
();
public
void
restart_app
(
boolean
direct_login
);
public
void
restart_app
(
Intent
intent
);
public
void
restart_app
(
Intent
intent
,
boolean
direct_login
);
public
void
updateUserConfig
(
User
user
);
}
}
android/Pictogram/commonlibrary/src/main/java/com/yottacode/pictogram/
grammar
/ActionTalk.java
→
android/Pictogram/commonlibrary/src/main/java/com/yottacode/pictogram/
net/websockets
/ActionTalk.java
View file @
f942adcb
package
com
.
yottacode
.
pictogram
.
grammar
;
package
com
.
yottacode
.
pictogram
.
net
.
websockets
;
import
android.util.Log
;
import
android.util.Log
;
import
com.github.nkzawa.emitter.Emitter
;
import
com.github.nkzawa.emitter.Emitter
;
import
com.yottacode.pictogram.action.Room
;
import
com.yottacode.pictogram.dao.Picto
;
import
com.yottacode.pictogram.dao.Picto
;
import
com.yottacode.pictogram.tools.PCBcontext
;
import
com.yottacode.pictogram.tools.PCBcontext
;
...
@@ -15,7 +14,7 @@ import org.json.JSONObject;
...
@@ -15,7 +14,7 @@ import org.json.JSONObject;
* @author Fernando Martinez Santiago
* @author Fernando Martinez Santiago
* @version 1.0
* @version 1.0
*/
*/
public
class
ActionTalk
implements
Emitter
.
Listener
{
public
class
ActionTalk
implements
Emitter
.
Listener
{
private
static
final
String
URL
=
"action"
;
private
static
final
String
URL
=
"action"
;
private
Room
room
;
private
Room
room
;
...
...
android/Pictogram/commonlibrary/src/main/java/com/yottacode/pictogram/
action
/Room.java
→
android/Pictogram/commonlibrary/src/main/java/com/yottacode/pictogram/
net/websockets
/Room.java
View file @
f942adcb
package
com
.
yottacode
.
pictogram
.
action
;
package
com
.
yottacode
.
pictogram
.
net
.
websockets
;
import
android.util.Log
;
import
android.util.Log
;
import
com.github.nkzawa.emitter.Emitter
;
import
com.github.nkzawa.emitter.Emitter
;
import
org.json.JSONArray
;
import
org.json.JSONException
;
import
org.json.JSONObject
;
import
com.github.nkzawa.socketio.client.Ack
;
import
com.github.nkzawa.socketio.client.Ack
;
import
com.github.nkzawa.socketio.client.SocketIOException
;
import
com.github.nkzawa.socketio.client.SocketIOException
;
import
com.yottacode.pictogram.dao.PCBDBHelper
;
import
com.yottacode.pictogram.dao.Picto
;
import
com.yottacode.net.SailsSocketsIO
;
import
com.yottacode.net.SailsSocketsIO
;
import
com.yottacode.pictogram.action.Action
;
import
com.yottacode.pictogram.action.SubscribeAction
;
import
com.yottacode.pictogram.action.UnsubscribeAction
;
import
com.yottacode.pictogram.tools.PCBcontext
;
import
com.yottacode.pictogram.tools.PCBcontext
;
import
java.io.IOException
;
import
org.json.JSONException
;
import
java.sql.SQLDataException
;
import
org.json.JSONObject
;
import
java.text.SimpleDateFormat
;
import
java.util.Date
;
import
java.util.Enumeration
;
import
java.util.HashMap
;
import
java.util.Hashtable
;
import
java.util.Hashtable
;
import
java.util.LinkedList
;
...
@@ -138,4 +129,6 @@ public class Room {
...
@@ -138,4 +129,6 @@ public class Room {
super
.
finalize
();
super
.
finalize
();
exit
();
exit
();
}
}
}
}
android/Pictogram/commonlibrary/src/main/java/com/yottacode/pictogram/net/websockets/StudentTalk.java
0 → 100644
View file @
f942adcb
package
com
.
yottacode
.
pictogram
.
net
.
websockets
;
/**
* Created by Fernando on 10/12/2016.
*/
import
android.util.Log
;
import
com.github.nkzawa.emitter.Emitter
;
import
com.yottacode.pictogram.dao.User
;
import
com.yottacode.pictogram.tools.PCBcontext
;
import
org.json.JSONException
;
import
org.json.JSONObject
;
/**
* Websocket Vocabulary Room based on Room
* @author Fernando Martinez Santiago
* @version 1.0
*/
public
class
StudentTalk
implements
Emitter
.
Listener
{
private
static
final
String
URL
=
"updateStudent"
;
private
Room
room
;
iStudentListener
listeners
[];
public
StudentTalk
(
Room
room
,
iStudentListener
listeners
[])
{
this
.
room
=
room
;
this
.
room
.
listen
(
URL
,
this
);
this
.
listeners
=
listeners
;
}
@Override
public
void
call
(
Object
...
args
)
{
try
{
JSONObject
msg
=
((
JSONObject
)
args
[
0
]).
getJSONObject
(
"student"
);
Log
.
i
(
this
.
getClass
().
getName
(),
"raw Received message "
+
msg
.
toString
());
int
id
=
msg
.
getInt
(
"id"
);
String
username
=
msg
.
getString
(
"username"
);
String
surname
=
msg
.
getString
(
"surname"
);
String
gender
=
msg
.
getString
(
"gender"
);
String
pic
=
msg
.
getString
(
"pic"
);
String
lang
=
msg
.
getString
(
"lang"
);
String
attributes
=
msg
.
getString
(
"attributes"
);
User
user
=
PCBcontext
.
getPcbdb
().
getCurrentUser
();
User
updatedUser
=
new
User
(
id
,
username
,
user
.
get_pwd_stu
(),
username
,
surname
,
pic
,
gender
,
lang
,
attributes
,
user
.
get_id_sup
(),
user
.
get_email_sup
(),
user
.
get_pwd_sup
(),
user
.
get_name_sup
(),
user
.
get_surname_sup
(),
user
.
get_url_img_sup
(),
user
.
get_gender_sup
(),
user
.
get_lang_sup
(),
user
.
get_tts_engine_sup
());
Log
.
i
(
this
.
getClass
().
getName
(),
"Attributes"
+
attributes
+
" listeners:"
+
listeners
.
length
);
for
(
iStudentListener
listener:
listeners
)
listener
.
change
(
updatedUser
);
}
catch
(
JSONException
e
)
{
Log
.
e
(
this
.
getClass
().
getCanonicalName
(),
e
.
getClass
().
getCanonicalName
()
+
"--"
+
e
);
}
}
}
android/Pictogram/commonlibrary/src/main/java/com/yottacode/pictogram/
grammar
/VocabularyTalk.java
→
android/Pictogram/commonlibrary/src/main/java/com/yottacode/pictogram/
net/websockets
/VocabularyTalk.java
View file @
f942adcb
package
com
.
yottacode
.
pictogram
.
grammar
;
package
com
.
yottacode
.
pictogram
.
net
.
websockets
;
import
android.util.Log
;
import
android.util.Log
;
import
com.github.nkzawa.emitter.Emitter
;
import
com.github.nkzawa.emitter.Emitter
;
import
com.yottacode.pictogram.action.Room
;
import
com.yottacode.pictogram.dao.Picto
;
import
com.yottacode.pictogram.dao.Picto
;
import
org.json.JSONException
;
import
org.json.JSONException
;
...
@@ -14,7 +13,7 @@ import org.json.JSONObject;
...
@@ -14,7 +13,7 @@ import org.json.JSONObject;
* @author Fernando Martinez Santiago
* @author Fernando Martinez Santiago
* @version 1.0
* @version 1.0
*/
*/
public
class
VocabularyTalk
implements
Emitter
.
Listener
{
public
class
VocabularyTalk
implements
Emitter
.
Listener
{
private
static
final
String
URL
=
"vocabulary"
;
private
static
final
String
URL
=
"vocabulary"
;
private
Room
room
;
private
Room
room
;
...
@@ -24,7 +23,7 @@ public class VocabularyTalk implements Emitter.Listener {
...
@@ -24,7 +23,7 @@ public class VocabularyTalk implements Emitter.Listener {
public
VocabularyTalk
(
Room
room
,
iVocabularyListener
listeners
[])
{
public
VocabularyTalk
(
Room
room
,
iVocabularyListener
listeners
[])
{
this
.
room
=
room
;
this
.
room
=
room
;
this
.
room
.
listen
(
URL
,
this
);
this
.
room
.
listen
(
URL
,
this
);
this
.
listeners
=
listeners
;
this
.
listeners
=
listeners
;
}
}
@Override
@Override
...
@@ -50,12 +49,12 @@ public class VocabularyTalk implements Emitter.Listener {
...
@@ -50,12 +49,12 @@ public class VocabularyTalk implements Emitter.Listener {
int
picto_cat
=
attrs_stu_picto
!=
null
?
attrs_stu_picto
.
optInt
(
param_picto_cat
,
Picto
.
NO_CATEGORY
)
:
0
;
int
picto_cat
=
attrs_stu_picto
!=
null
?
attrs_stu_picto
.
optInt
(
param_picto_cat
,
Picto
.
NO_CATEGORY
)
:
0
;
Log
.
i
(
this
.
getClass
().
getName
(),
"Received message '"
+
action
+
Log
.
i
(
this
.
getClass
().
getName
(),
"Received message '"
+
action
+
"' for picto "
+
picto_id
+
" (cat "
+
picto_cat
+
", picto: "
+
picto_stupicto
);
"' for picto "
+
picto_id
+
" (cat "
+
picto_cat
+
", picto: "
+
picto_stupicto
);
for
(
iVocabularyListener
listener:
this
.
listeners
)
for
(
iVocabularyListener
listener:
this
.
listeners
)
listener
.
change
(
action
.
equals
(
action_update
)
?
iVocabularyListener
.
action
.
update
listener
.
change
(
action
.
equals
(
action_update
)
?
iVocabularyListener
.
action
.
update
:
action
.
equals
(
action_add
)
?
iVocabularyListener
.
action
.
add
:
action
.
equals
(
action_add
)
?
iVocabularyListener
.
action
.
add
:
iVocabularyListener
.
action
.
delete
:
iVocabularyListener
.
action
.
delete
,
picto_cat
,
picto_id
,
stu_picto
);
,
picto_cat
,
picto_id
,
stu_picto
);
}
catch
(
JSONException
e
)
{
}
catch
(
JSONException
e
)
{
Log
.
e
(
this
.
getClass
().
getCanonicalName
(),
e
.
getClass
().
getCanonicalName
()
+
"--"
+
e
);
Log
.
e
(
this
.
getClass
().
getCanonicalName
(),
e
.
getClass
().
getCanonicalName
()
+
"--"
+
e
);
...
...
android/Pictogram/commonlibrary/src/main/java/com/yottacode/pictogram/
grammar
/iActionListener.java
→
android/Pictogram/commonlibrary/src/main/java/com/yottacode/pictogram/
net/websockets
/iActionListener.java
View file @
f942adcb
package
com
.
yottacode
.
pictogram
.
grammar
;
package
com
.
yottacode
.
pictogram
.
net
.
websockets
;
/**
/**
...
...
android/Pictogram/commonlibrary/src/main/java/com/yottacode/pictogram/net/websockets/iStudentListener.java
0 → 100644
View file @
f942adcb
package
com
.
yottacode
.
pictogram
.
net
.
websockets
;
import
com.yottacode.pictogram.dao.User
;
/**
* Vocabulary Listener
* @author Fernando Martinez Santiago
* @version 1.0
*/
public
interface
iStudentListener
{
public
void
change
(
User
updatedStudent
);
}
android/Pictogram/commonlibrary/src/main/java/com/yottacode/pictogram/
grammar
/iVocabularyListener.java
→
android/Pictogram/commonlibrary/src/main/java/com/yottacode/pictogram/
net/websockets
/iVocabularyListener.java
View file @
f942adcb
package
com
.
yottacode
.
pictogram
.
grammar
;
package
com
.
yottacode
.
pictogram
.
net
.
websockets
;
import
com.yottacode.pictogram.dao.Picto
;
import
org.json.JSONArray
;
import
org.json.JSONObject
;
import
org.json.JSONObject
;
import
java.util.Hashtable
;
import
java.util.LinkedList
;
/**
/**
* Vocabulary Listener
* Vocabulary Listener
* @author Fernando Martinez Santiago
* @author Fernando Martinez Santiago
...
...
android/Pictogram/commonlibrary/src/main/java/com/yottacode/pictogram/tools/PCBcontext.java
View file @
f942adcb
...
@@ -11,10 +11,12 @@ import com.yottacode.pictogram.dao.Device;
...
@@ -11,10 +11,12 @@ import com.yottacode.pictogram.dao.Device;
import
com.yottacode.pictogram.dao.PCBDBHelper
;
import
com.yottacode.pictogram.dao.PCBDBHelper
;
import
com.yottacode.pictogram.dao.User
;
import
com.yottacode.pictogram.dao.User
;
import
com.yottacode.pictogram.grammar.Vocabulary
;
import
com.yottacode.pictogram.grammar.Vocabulary
;
import
com.yottacode.pictogram.net.iNetServiceDevice
;
import
com.yottacode.pictogram.action.Room
;
import
com.yottacode.pictogram.net.NetService
;
import
com.yottacode.pictogram.net.NetService
;
import
com.yottacode.pictogram.net.iImgDownloaderListener
;
import
com.yottacode.pictogram.net.iImgDownloaderListener
;
import
com.yottacode.pictogram.net.iNetServiceDevice
;
import
com.yottacode.pictogram.net.websockets.Room
;
import
com.yottacode.pictogram.net.websockets.StudentTalk
;
import
com.yottacode.pictogram.net.websockets.iStudentListener
;
public
final
class
PCBcontext
{
public
final
class
PCBcontext
{
private
static
Context
context
;
private
static
Context
context
;
...
@@ -68,6 +70,20 @@ public final class PCBcontext {
...
@@ -68,6 +70,20 @@ public final class PCBcontext {
actionLog
=
new
ActionLog
();
actionLog
=
new
ActionLog
();
vocabulary
=
new
Vocabulary
(
listener
);
vocabulary
=
new
Vocabulary
(
listener
);
getNetService
().
notifyStatus
();
getNetService
().
notifyStatus
();
if
(
getNetService
().
online
())
new
StudentTalk
(
room
,
new
iStudentListener
[]
{
new
iStudentListener
()
{
@Override
public
void
change
(
User
updatedStudent
)
{
PCBcontext
.
getDevice
().
insertUser
(
updatedStudent
);
if
(
updatedStudent
.
is_picto_size_big
()!=
getPcbdb
().
getCurrentUser
().
is_picto_size_big
())
PCBcontext
.
getNetService
().
getNetServiceDevice
().
restart_app
(
true
);
else
{
PCBcontext
.
getPcbdb
().
setCurrentUser
(
updatedStudent
);
PCBcontext
.
getNetService
().
getNetServiceDevice
().
updateUserConfig
(
updatedStudent
);
}
}
}});
}
}
public
static
void
unset_user
()
{
public
static
void
unset_user
()
{
...
...
android/Pictogram/supervisor_tablet/supervisor_tablet.iml
View file @
f942adcb
...
@@ -43,13 +43,6 @@
...
@@ -43,13 +43,6 @@
<sourceFolder
url=
"file://$MODULE_DIR$/src/CIFlavorDebug/jni"
isTestSource=
"false"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/CIFlavorDebug/jni"
isTestSource=
"false"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/CIFlavorDebug/rs"
isTestSource=
"false"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/CIFlavorDebug/rs"
isTestSource=
"false"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/CIFlavorDebug/shaders"
isTestSource=
"false"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/CIFlavorDebug/shaders"
isTestSource=
"false"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/build/generated/source/r/androidTest/CIFlavor/debug"
isTestSource=
"true"
generated=
"true"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/build/generated/source/aidl/androidTest/CIFlavor/debug"
isTestSource=
"true"
generated=
"true"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/build/generated/source/buildConfig/androidTest/CIFlavor/debug"
isTestSource=
"true"
generated=
"true"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/build/generated/source/rs/androidTest/CIFlavor/debug"
isTestSource=
"true"
generated=
"true"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/build/generated/source/apt/androidTest/CIFlavor/debug"
isTestSource=
"true"
generated=
"true"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/build/generated/res/rs/androidTest/CIFlavor/debug"
type=
"java-test-resource"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/build/generated/res/resValues/androidTest/CIFlavor/debug"
type=
"java-test-resource"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/testCIFlavorDebug/res"
type=
"java-test-resource"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/testCIFlavorDebug/res"
type=
"java-test-resource"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/testCIFlavorDebug/resources"
type=
"java-test-resource"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/testCIFlavorDebug/resources"
type=
"java-test-resource"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/testCIFlavorDebug/assets"
type=
"java-test-resource"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/testCIFlavorDebug/assets"
type=
"java-test-resource"
/>
...
@@ -58,6 +51,13 @@
...
@@ -58,6 +51,13 @@
<sourceFolder
url=
"file://$MODULE_DIR$/src/testCIFlavorDebug/jni"
isTestSource=
"true"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/testCIFlavorDebug/jni"
isTestSource=
"true"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/testCIFlavorDebug/rs"
isTestSource=
"true"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/testCIFlavorDebug/rs"
isTestSource=
"true"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/testCIFlavorDebug/shaders"
isTestSource=
"true"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/testCIFlavorDebug/shaders"
isTestSource=
"true"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/build/generated/source/r/androidTest/CIFlavor/debug"
isTestSource=
"true"
generated=
"true"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/build/generated/source/aidl/androidTest/CIFlavor/debug"
isTestSource=
"true"
generated=
"true"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/build/generated/source/buildConfig/androidTest/CIFlavor/debug"
isTestSource=
"true"
generated=
"true"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/build/generated/source/rs/androidTest/CIFlavor/debug"
isTestSource=
"true"
generated=
"true"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/build/generated/source/apt/androidTest/CIFlavor/debug"
isTestSource=
"true"
generated=
"true"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/build/generated/res/rs/androidTest/CIFlavor/debug"
type=
"java-test-resource"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/build/generated/res/resValues/androidTest/CIFlavor/debug"
type=
"java-test-resource"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/CIFlavor/res"
type=
"java-resource"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/CIFlavor/res"
type=
"java-resource"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/CIFlavor/resources"
type=
"java-resource"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/CIFlavor/resources"
type=
"java-resource"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/CIFlavor/assets"
type=
"java-resource"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/CIFlavor/assets"
type=
"java-resource"
/>
...
@@ -124,7 +124,6 @@
...
@@ -124,7 +124,6 @@
<sourceFolder
url=
"file://$MODULE_DIR$/src/androidTest/shaders"
isTestSource=
"true"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/androidTest/shaders"
isTestSource=
"true"
/>
<excludeFolder
url=
"file://$MODULE_DIR$/build/intermediates/assets"
/>
<excludeFolder
url=
"file://$MODULE_DIR$/build/intermediates/assets"
/>
<excludeFolder
url=
"file://$MODULE_DIR$/build/intermediates/blame"
/>
<excludeFolder
url=
"file://$MODULE_DIR$/build/intermediates/blame"
/>
<excludeFolder
url=
"file://$MODULE_DIR$/build/intermediates/builds"
/>
<excludeFolder
url=
"file://$MODULE_DIR$/build/intermediates/classes"
/>
<excludeFolder
url=
"file://$MODULE_DIR$/build/intermediates/classes"
/>
<excludeFolder
url=
"file://$MODULE_DIR$/build/intermediates/dependency-cache"
/>
<excludeFolder
url=
"file://$MODULE_DIR$/build/intermediates/dependency-cache"
/>
<excludeFolder
url=
"file://$MODULE_DIR$/build/intermediates/exploded-aar/com.android.support/animated-vector-drawable/24.2.1/jars"
/>
<excludeFolder
url=
"file://$MODULE_DIR$/build/intermediates/exploded-aar/com.android.support/animated-vector-drawable/24.2.1/jars"
/>
...
@@ -137,17 +136,11 @@
...
@@ -137,17 +136,11 @@
<excludeFolder
url=
"file://$MODULE_DIR$/build/intermediates/exploded-aar/com.android.support/support-v4/24.2.1/jars"
/>
<excludeFolder
url=
"file://$MODULE_DIR$/build/intermediates/exploded-aar/com.android.support/support-v4/24.2.1/jars"
/>
<excludeFolder
url=
"file://$MODULE_DIR$/build/intermediates/exploded-aar/com.android.support/support-vector-drawable/24.2.1/jars"
/>
<excludeFolder
url=
"file://$MODULE_DIR$/build/intermediates/exploded-aar/com.android.support/support-vector-drawable/24.2.1/jars"
/>
<excludeFolder
url=
"file://$MODULE_DIR$/build/intermediates/incremental"
/>
<excludeFolder
url=
"file://$MODULE_DIR$/build/intermediates/incremental"
/>
<excludeFolder
url=
"file://$MODULE_DIR$/build/intermediates/incremental-classes"
/>
<excludeFolder
url=
"file://$MODULE_DIR$/build/intermediates/incremental-runtime-classes"
/>
<excludeFolder
url=
"file://$MODULE_DIR$/build/intermediates/incremental-safeguard"
/>
<excludeFolder
url=
"file://$MODULE_DIR$/build/intermediates/incremental-safeguard"
/>
<excludeFolder
url=
"file://$MODULE_DIR$/build/intermediates/incremental-verifier"
/>
<excludeFolder
url=
"file://$MODULE_DIR$/build/intermediates/instant-run-resources"
/>
<excludeFolder
url=
"file://$MODULE_DIR$/build/intermediates/instant-run-support"
/>
<excludeFolder
url=
"file://$MODULE_DIR$/build/intermediates/jniLibs"
/>
<excludeFolder
url=
"file://$MODULE_DIR$/build/intermediates/jniLibs"
/>
<excludeFolder
url=
"file://$MODULE_DIR$/build/intermediates/manifests"
/>
<excludeFolder
url=
"file://$MODULE_DIR$/build/intermediates/manifests"
/>
<excludeFolder
url=
"file://$MODULE_DIR$/build/intermediates/
reload-dex
"
/>
<excludeFolder
url=
"file://$MODULE_DIR$/build/intermediates/
pre-dexed
"
/>
<excludeFolder
url=
"file://$MODULE_DIR$/build/intermediates/res"
/>
<excludeFolder
url=
"file://$MODULE_DIR$/build/intermediates/res"
/>
<excludeFolder
url=
"file://$MODULE_DIR$/build/intermediates/restart-dex"
/>
<excludeFolder
url=
"file://$MODULE_DIR$/build/intermediates/rs"
/>
<excludeFolder
url=
"file://$MODULE_DIR$/build/intermediates/rs"
/>
<excludeFolder
url=
"file://$MODULE_DIR$/build/intermediates/shaders"
/>
<excludeFolder
url=
"file://$MODULE_DIR$/build/intermediates/shaders"
/>
<excludeFolder
url=
"file://$MODULE_DIR$/build/intermediates/symbols"
/>
<excludeFolder
url=
"file://$MODULE_DIR$/build/intermediates/symbols"
/>
...
...
android/Pictogram/tabletlibrary/src/main/java/com/yottacode/pictogram/tabletlibrary/gui/PictoGridAdapter.java
View file @
f942adcb
package
com
.
yottacode
.
pictogram
.
tabletlibrary
.
gui
;
package
com
.
yottacode
.
pictogram
.
tabletlibrary
.
gui
;
import
android.annotation.TargetApi
;
import
android.os.Build
;
import
android.os.Bundle
;
import
android.speech.tts.TextToSpeech
;
import
android.view.View
;
import
android.view.View
;
import
android.view.ViewGroup
;
import
android.view.ViewGroup
;
import
android.widget.ArrayAdapter
;
import
android.widget.ArrayAdapter
;
...
@@ -43,20 +39,11 @@ public class PictoGridAdapter extends ArrayAdapter {
...
@@ -43,20 +39,11 @@ public class PictoGridAdapter extends ArrayAdapter {
@Override
@Override
public
View
getView
(
int
position
,
View
convertView
,
ViewGroup
parent
)
{
public
View
getView
(
int
position
,
View
convertView
,
ViewGroup
parent
)
{
return
PictoItemViewGenerator
.
getPictoView
(
return
PictoItemViewGenerator
.
getPictoView
(
this
.
pictoLinkedList
.
get
(
position
),
this
.
pictoLinkedList
.
get
(
position
),
convertView
,
convertView
,
parent
parent
);
);
}
}
@TargetApi
(
Build
.
VERSION_CODES
.
LOLLIPOP
)
public
void
ttsPicto
(
Picto
p
,
TextToSpeech
tts
)
{
if
(
p
.
is_enabled
())
{
String
input
=
p
.
get_translation
();
Bundle
params
=
new
Bundle
();
params
.
putString
(
TextToSpeech
.
Engine
.
KEY_PARAM_VOLUME
,
"1"
);
tts
.
speak
(
input
,
TextToSpeech
.
QUEUE_FLUSH
,
params
,
null
);
}
}
}
}
android/Pictogram/tabletlibrary/src/main/java/com/yottacode/pictogram/tabletlibrary/gui/PictogramActivity.java
View file @
f942adcb
...
@@ -39,12 +39,13 @@ import com.yottacode.pictogram.action.TalkAction;
...
@@ -39,12 +39,13 @@ import com.yottacode.pictogram.action.TalkAction;
import
com.yottacode.pictogram.dao.Picto
;
import
com.yottacode.pictogram.dao.Picto
;
import
com.yottacode.pictogram.dao.User
;
import
com.yottacode.pictogram.dao.User
;
import
com.yottacode.pictogram.grammar.Vocabulary
;
import
com.yottacode.pictogram.grammar.Vocabulary
;
import
com.yottacode.pictogram.
grammar
.iActionListener
;
import
com.yottacode.pictogram.
net.websockets
.iActionListener
;
import
com.yottacode.pictogram.grammar.iLocalPicto
;
import
com.yottacode.pictogram.grammar.iLocalPicto
;
import
com.yottacode.pictogram.
grammar
.iVocabularyListener
;
import
com.yottacode.pictogram.
net.websockets
.iVocabularyListener
;
import
com.yottacode.pictogram.net.PictoUploader
;
import
com.yottacode.pictogram.net.PictoUploader
;
import
com.yottacode.pictogram.net.iImgDownloaderListener
;
import
com.yottacode.pictogram.net.iImgDownloaderListener
;
import
com.yottacode.pictogram.tabletlibrary.R
;
import
com.yottacode.pictogram.tabletlibrary.R
;
import
com.yottacode.pictogram.tabletlibrary.net.NetServiceTablet
;
import
com.yottacode.pictogram.tools.Img
;
import
com.yottacode.pictogram.tools.Img
;
import
com.yottacode.pictogram.tools.PCBcontext
;
import
com.yottacode.pictogram.tools.PCBcontext
;
import
com.yottacode.pictogram.tts.TTSHelper
;
import
com.yottacode.pictogram.tts.TTSHelper
;
...
@@ -99,6 +100,8 @@ public class PictogramActivity extends Activity implements iVocabularyListener {
...
@@ -99,6 +100,8 @@ public class PictogramActivity extends Activity implements iVocabularyListener {
Animation
showPictoMainViewAnimation
;
Animation
showPictoMainViewAnimation
;
// Button used for showing the picto category view
// Button used for showing the picto category view
ImageButton
showPictoCategoriesViewButton
;
ImageButton
showPictoCategoriesViewButton
;
ImageButton
deleteButton
;
ImageButton
ttsButton
;
int
maxColumns
,
maxRows
,
maxInTape
;
int
maxColumns
,
maxRows
,
maxInTape
;
ScheduledThreadPoolExecutor
exec_mirror
=
null
;
ScheduledThreadPoolExecutor
exec_mirror
=
null
;
...
@@ -108,15 +111,7 @@ public class PictogramActivity extends Activity implements iVocabularyListener {
...
@@ -108,15 +111,7 @@ public class PictogramActivity extends Activity implements iVocabularyListener {
@Override
@Override
protected
void
onCreate
(
Bundle
savedInstanceState
)
{
protected
void
onCreate
(
Bundle
savedInstanceState
)
{
super
.
onCreate
(
savedInstanceState
);
super
.
onCreate
(
savedInstanceState
);
if
(
PCBcontext
.
getPcbdb
().
getCurrentUser
().
is_picto_size_big
())
{
maxColumns
=
getResources
().
getInteger
(
R
.
integer
.
columns_big
);
maxRows
=
getResources
().
getInteger
(
R
.
integer
.
rows_big
);
maxInTape
=
getResources
().
getInteger
(
R
.
integer
.
maxInTape_big
);
}
else
{
maxColumns
=
getResources
().
getInteger
(
R
.
integer
.
columns
);
maxRows
=
getResources
().
getInteger
(
R
.
integer
.
rows
);
maxInTape
=
getResources
().
getInteger
(
R
.
integer
.
maxInTape
);
}
requestWindowFeature
(
Window
.
FEATURE_NO_TITLE
);
requestWindowFeature
(
Window
.
FEATURE_NO_TITLE
);
setContentView
(
PCBcontext
.
getPcbdb
().
getCurrentUser
().
is_picto_size_big
()
?
R
.
layout
.
activity_pictogram_big
:
R
.
layout
.
activity_pictogram
);
setContentView
(
PCBcontext
.
getPcbdb
().
getCurrentUser
().
is_picto_size_big
()
?
R
.
layout
.
activity_pictogram_big
:
R
.
layout
.
activity_pictogram
);
...
@@ -126,7 +121,7 @@ public class PictogramActivity extends Activity implements iVocabularyListener {
...
@@ -126,7 +121,7 @@ public class PictogramActivity extends Activity implements iVocabularyListener {
this
.
count_deletelong
=
0
;
this
.
count_deletelong
=
0
;
if
(!
PCBcontext
.
is_user_logged
())
{
if
(!
PCBcontext
.
is_user_logged
())
{
Log
.
i
(
LOG_TAG
,
"No user logged. Restarting app"
);
Log
.
i
(
LOG_TAG
,
"No user logged. Restarting app"
);
PCBcontext
.
getNetService
().
restart_app
();
PCBcontext
.
getNetService
().
restart_app
(
false
);
return
;
return
;
}
}
...
@@ -193,22 +188,6 @@ public class PictogramActivity extends Activity implements iVocabularyListener {
...
@@ -193,22 +188,6 @@ public class PictogramActivity extends Activity implements iVocabularyListener {
this
.
pictoCategoryGridView
=
(
GridView
)
this
.
findViewById
(
R
.
id
.
picto_category_grid_view
);
this
.
pictoCategoryGridView
=
(
GridView
)
this
.
findViewById
(
R
.
id
.
picto_category_grid_view
);
this
.
pictoCategoryGridView
.
setAdapter
(
this
.
pictoCategoryGridAdapter
);
this
.
pictoCategoryGridView
.
setAdapter
(
this
.
pictoCategoryGridAdapter
);
this
.
pictoMainGridView
.
setNumColumns
(
this
.
maxColumns
);
this
.
pictoCategoryGridView
.
setNumColumns
(
this
.
maxColumns
);
startTTS
();
this
.
tapeGridView
.
setOnDragListener
(
new
OnPictoDragListener
());
this
.
tapeGridView
.
setOnItemClickListener
(
new
AdapterView
.
OnItemClickListener
()
{
@Override
public
void
onItemClick
(
AdapterView
<?>
parent
,
View
view
,
int
position
,
long
id
)
{
Log
.
i
(
this
.
getClass
().
getCanonicalName
(),
" Delete item "
+
position
+
"("
+
PictogramActivity
.
this
.
tapeAdapter
.
getItem
(
position
).
get_translation
()+
")"
);
PCBcontext
.
getActionLog
().
log
(
new
TalkAction
(
TalkAction
.
DELETE
,
PictogramActivity
.
this
.
tapeAdapter
.
getItem
(
position
)));
PictogramActivity
.
this
.
tapeAdapter
.
deleteItem
(
position
);
PictogramActivity
.
this
.
tapeAdapter
.
notifyDataSetChanged
();
}
});
this
.
pictoMainGridView
.
setOnDragListener
(
new
OnPictoDragListener
());
this
.
pictoMainGridView
.
setOnDragListener
(
new
OnPictoDragListener
());
this
.
pictoCategoryGridView
.
setOnDragListener
(
new
OnPictoDragListener
());
this
.
pictoCategoryGridView
.
setOnDragListener
(
new
OnPictoDragListener
());
...
@@ -219,8 +198,8 @@ public class PictogramActivity extends Activity implements iVocabularyListener {
...
@@ -219,8 +198,8 @@ public class PictogramActivity extends Activity implements iVocabularyListener {
this
.
pictoMainGridView
.
setOnItemLongClickListener
(
new
OnPictoLongClickListener
());
this
.
pictoMainGridView
.
setOnItemLongClickListener
(
new
OnPictoLongClickListener
());
this
.
pictoCategoryGridView
.
setOnItemLongClickListener
(
new
OnPictoLongClickListener
());
this
.
pictoCategoryGridView
.
setOnItemLongClickListener
(
new
OnPictoLongClickListener
());
final
ImageButton
deleteButton
=
(
ImageButton
)
findViewById
(
R
.
id
.
button_delete
);
this
.
deleteButton
=
(
ImageButton
)
findViewById
(
R
.
id
.
button_delete
);
final
ImageButton
ttsButton
=
(
ImageButton
)
findViewById
(
R
.
id
.
button_tts
);
this
.
ttsButton
=
(
ImageButton
)
findViewById
(
R
.
id
.
button_tts
);
ttsButton
.
setOnClickListener
(
new
OnTTSButtonClickListener
());
ttsButton
.
setOnClickListener
(
new
OnTTSButtonClickListener
());
ttsButton
.
setOnLongClickListener
(
new
View
.
OnLongClickListener
()
{
ttsButton
.
setOnLongClickListener
(
new
View
.
OnLongClickListener
()
{
@Override
@Override
...
@@ -233,18 +212,50 @@ public class PictogramActivity extends Activity implements iVocabularyListener {
...
@@ -233,18 +212,50 @@ public class PictogramActivity extends Activity implements iVocabularyListener {
return
true
;
return
true
;
}
}
});
});
deleteButton
.
setOnClickListener
(
new
OnDeleteButtonClickListener
());
this
.
deleteButton
.
setOnClickListener
(
new
OnDeleteButtonClickListener
());
deleteButton
.
setOnLongClickListener
(
new
OnDeleteButtonLongClickListener
());
this
.
deleteButton
.
setOnLongClickListener
(
new
OnDeleteButtonLongClickListener
());
this
.
showPictoCategoriesViewButton
=
(
ImageButton
)
this
.
findViewById
(
R
.
id
.
showPictoCategoriesViewButton
);
this
.
showPictoCategoriesViewButton
=
(
ImageButton
)
this
.
findViewById
(
R
.
id
.
showPictoCategoriesViewButton
);
this
.
showPictoCategoriesViewButton
.
setOnClickListener
(
new
OnShowPictoCategoriesViewButtonClick
());
this
.
showPictoCategoriesViewButton
.
setOnClickListener
(
new
OnShowPictoCategoriesViewButtonClick
());
this
.
tapeGridView
.
setOnDragListener
(
new
OnPictoDragListener
());
this
.
tapeGridView
.
setOnItemClickListener
(
new
AdapterView
.
OnItemClickListener
()
{
@Override
public
void
onItemClick
(
AdapterView
<?>
parent
,
View
view
,
int
position
,
long
id
)
{
Log
.
i
(
this
.
getClass
().
getCanonicalName
(),
" Delete item "
+
position
+
"("
+
PictogramActivity
.
this
.
tapeAdapter
.
getItem
(
position
).
get_translation
()+
")"
);
PCBcontext
.
getActionLog
().
log
(
new
TalkAction
(
TalkAction
.
DELETE
,
PictogramActivity
.
this
.
tapeAdapter
.
getItem
(
position
)));
PictogramActivity
.
this
.
tapeAdapter
.
deleteItem
(
position
);
PictogramActivity
.
this
.
tapeAdapter
.
notifyDataSetChanged
();
}
});
((
NetServiceTablet
)
PCBcontext
.
getNetService
().
getNetServiceDevice
()).
setPictogramActivity
(
this
);
if
(
PCBcontext
.
getPcbdb
().
getCurrentUser
().
is_picto_size_big
())
{
maxColumns
=
getResources
().
getInteger
(
R
.
integer
.
columns_big
);
maxRows
=
getResources
().
getInteger
(
R
.
integer
.
rows_big
);
maxInTape
=
getResources
().
getInteger
(
R
.
integer
.
maxInTape_big
);
}
else
{
maxColumns
=
getResources
().
getInteger
(
R
.
integer
.
columns
);
maxRows
=
getResources
().
getInteger
(
R
.
integer
.
rows
);
maxInTape
=
getResources
().
getInteger
(
R
.
integer
.
maxInTape
);
}
PictogramActivity
.
this
.
pictoMainGridView
.
setNumColumns
(
PictogramActivity
.
this
.
maxColumns
);
PictogramActivity
.
this
.
pictoCategoryGridView
.
setNumColumns
(
PictogramActivity
.
this
.
maxColumns
);
setConfig
();
this
.
generateAnimations
();
this
.
generateAnimations
();
if
(
this
.
currentCategory
!=
null
)
{
if
(
this
.
currentCategory
!=
null
)
{
this
.
hidePictoMainGridView
();
this
.
hidePictoMainGridView
();
}
else
{
}
else
{
this
.
showPictoMainGridView
();
this
.
showPictoMainGridView
();
}
}
}
public
void
setConfig
(){
startTTS
();
setFeedback
(
new
View
[]
{
deleteButton
,
ttsButton
,
this
.
showPictoCategoriesViewButton
,
this
.
pictoCategoryGridView
,
this
.
pictoMainGridView
});
setFeedback
(
new
View
[]
{
deleteButton
,
ttsButton
,
this
.
showPictoCategoriesViewButton
,
this
.
pictoCategoryGridView
,
this
.
pictoMainGridView
});
}
}
private
void
setFeedback
(
View
views
[])
{
private
void
setFeedback
(
View
views
[])
{
...
@@ -254,19 +265,31 @@ public class PictogramActivity extends Activity implements iVocabularyListener {
...
@@ -254,19 +265,31 @@ public class PictogramActivity extends Activity implements iVocabularyListener {
this
.
feedback_highlight
=
PCBcontext
.
getPcbdb
().
getCurrentUser
().
input_feedback_on
(
User
.
JSON_STUDENT_INPUT_FEEDBACK
.
HIGHLIGHT
);
this
.
feedback_highlight
=
PCBcontext
.
getPcbdb
().
getCurrentUser
().
input_feedback_on
(
User
.
JSON_STUDENT_INPUT_FEEDBACK
.
HIGHLIGHT
);
Log
.
i
(
this
.
getClass
().
getCanonicalName
(),
"Feedback:"
+
" vibration:"
+
vibration
+
" Beep:"
+
click
+
" Read:"
+
feedback_read
+
" Highlight:"
+
feedback_highlight
);
Log
.
i
(
this
.
getClass
().
getCanonicalName
(),
"Feedback:"
+
" vibration:"
+
vibration
+
" Beep:"
+
click
+
" Read:"
+
feedback_read
+
" Highlight:"
+
feedback_highlight
);
ArrayList
<
View
.
OnTouchListener
>
touchListeners
=
new
ArrayList
<>()
;
View
.
OnTouchListener
touchListener
;
if
(
vibration
)
touchListener
=
touchListeners
.
add
(
new
View
.
OnTouchListener
()
{
vibration
?
new
View
.
OnTouchListener
()
{
@Override
@Override
public
boolean
onTouch
(
View
v
,
MotionEvent
event
)
{
public
boolean
onTouch
(
View
v
,
MotionEvent
event
)
{
v
.
performHapticFeedback
(
HapticFeedbackConstants
.
LONG_PRESS
,
boolean
enable_haptic
;
HapticFeedbackConstants
.
FLAG_IGNORE_GLOBAL_SETTING
);
enable_haptic
=!(
v
instanceof
GridView
);
if
(!
enable_haptic
)
{
int
x
=
Math
.
round
(
event
.
getX
());
int
y
=
Math
.
round
(
event
.
getY
());
int
position
=((
GridView
)
v
).
pointToPosition
(
x
,
y
);
Picto
p
=
position
>-
1
?
(
Picto
)((
GridView
)
v
).
getItemAtPosition
(
position
)
:
null
;
enable_haptic
=
(
p
!=
null
&&
p
.
get_id
()
!=
0
&&
!
p
.
is_invisible
()
&&
p
.
is_enabled
());
}
if
(
enable_haptic
)
v
.
performHapticFeedback
(
HapticFeedbackConstants
.
LONG_PRESS
,
HapticFeedbackConstants
.
FLAG_IGNORE_GLOBAL_SETTING
);
return
false
;
return
false
;
}
}
}
);
}
if
(
click
)
:
click
touchListeners
.
add
(
new
View
.
OnTouchListener
()
{
?
new
View
.
OnTouchListener
()
{
@Override
@Override
public
boolean
onTouch
(
View
v
,
MotionEvent
event
)
{
public
boolean
onTouch
(
View
v
,
MotionEvent
event
)
{
try
{
try
{
...
@@ -278,9 +301,14 @@ public class PictogramActivity extends Activity implements iVocabularyListener {
...
@@ -278,9 +301,14 @@ public class PictogramActivity extends Activity implements iVocabularyListener {
}
}
return
false
;
return
false
;
}
}
});
}
:
new
View
.
OnTouchListener
()
{
@Override
public
boolean
onTouch
(
View
v
,
MotionEvent
event
)
{
return
false
;
}
};
for
(
View
.
OnTouchListener
touchListener:
touchListeners
)
for
(
View
view
:
views
)
for
(
View
view
:
views
)
view
.
setOnTouchListener
(
touchListener
);
view
.
setOnTouchListener
(
touchListener
);
}
}
...
@@ -714,14 +742,14 @@ public class PictogramActivity extends Activity implements iVocabularyListener {
...
@@ -714,14 +742,14 @@ public class PictogramActivity extends Activity implements iVocabularyListener {
public
void
onItemClick
(
AdapterView
<?>
parent
,
View
view
,
int
position
,
long
id
)
{
public
void
onItemClick
(
AdapterView
<?>
parent
,
View
view
,
int
position
,
long
id
)
{
Picto
p
=
getCurrentPictoGridAdapter
().
getItem
(
position
);
Picto
p
=
getCurrentPictoGridAdapter
().
getItem
(
position
);
p
.
set_mirror
(
false
);
if
(
PictogramActivity
.
this
.
feedback_read
)
if
(
PictogramActivity
.
this
.
feedback_read
)
PictogramActivity
.
this
.
tts
.
play
(
p
.
get_translation
());
PictogramActivity
.
this
.
tts
.
play
(
p
.
get_translation
());
if
(
p
!=
null
&&
p
.
get_id
()
!=
0
&&
!
p
.
is_invisible
()
&&
p
.
is_enabled
())
{
if
(
p
!=
null
&&
p
.
get_id
()
!=
0
&&
!
p
.
is_invisible
()
&&
p
.
is_enabled
())
{
Log
.
d
(
LOG_TAG
,
"Clic en picto: "
+
p
.
toString
());
Log
.
d
(
LOG_TAG
,
"Clic en picto: "
+
p
.
toString
());
p
.
set_mirror
(
false
);
LinkedList
<
Picto
>
ll
=
sort
(
PCBcontext
.
getVocabulary
().
next
(
p
));
LinkedList
<
Picto
>
ll
=
sort
(
PCBcontext
.
getVocabulary
().
next
(
p
));
//LinkedList<Picto> ll = vocabulary.next(p);
//LinkedList<Picto> ll = vocabulary.next(p);
Log
.
d
(
LOG_TAG
,
"Lista de pictos recuperada: "
+
ll
.
toString
());
Log
.
d
(
LOG_TAG
,
"Lista de pictos recuperada: "
+
ll
.
toString
());
...
@@ -909,7 +937,7 @@ public class PictogramActivity extends Activity implements iVocabularyListener {
...
@@ -909,7 +937,7 @@ public class PictogramActivity extends Activity implements iVocabularyListener {
}
}
PictogramActivity
.
this
.
finish
();
PictogramActivity
.
this
.
finish
();
PCBcontext
.
getNetService
().
restart_app
(
serialActivity
);
PCBcontext
.
getNetService
().
restart_app
(
serialActivity
,
false
);
}
}
return
false
;
return
false
;
}
}
...
...
android/Pictogram/tabletlibrary/src/main/java/com/yottacode/pictogram/tabletlibrary/gui/StudentFragmentGrid.java
View file @
f942adcb
...
@@ -164,10 +164,10 @@ public class StudentFragmentGrid extends Fragment{
...
@@ -164,10 +164,10 @@ public class StudentFragmentGrid extends Fragment{
progressDialog
=
ProgressDialog
.
show
(
getActivity
(),
getString
(
R
.
string
.
imguserLoadingMsg
),
progressDialog
=
ProgressDialog
.
show
(
getActivity
(),
getString
(
R
.
string
.
imguserLoadingMsg
),
getString
(
R
.
string
.
userLoadingTxt
),
false
,
false
);
getString
(
R
.
string
.
userLoadingTxt
),
false
,
false
);
ImgDownloader
downloader
=
new
ImgDownloader
(
getActivity
(),
new
iImgDownloaderListener
()
{
ImgDownloader
downloader
=
new
ImgDownloader
(
getActivity
(),
new
iImgDownloaderListener
()
{
@Override
p
ublic
void
loadComplete
()
{
p
rivate
void
loaded
()
{
if
(
progressDialog
!=
null
&&
progressDialog
.
isShowing
())
progressDialog
.
dismiss
();
if
(
progressDialog
!=
null
&&
progressDialog
.
isShowing
())
progressDialog
.
dismiss
();
if
(
downloaded_students
.
size
()
>
1
)
{
if
(
downloaded_students
.
size
()
>
=
1
)
{
for
(
int
i
=
0
;
i
<
imgs
.
size
();
i
++)
for
(
int
i
=
0
;
i
<
imgs
.
size
();
i
++)
try
{
try
{
imageStudents
.
add
(
imgs
.
get
(
i
).
get_bitmap
(
getActivity
().
getBaseContext
()));
imageStudents
.
add
(
imgs
.
get
(
i
).
get_bitmap
(
getActivity
().
getBaseContext
()));
...
@@ -181,9 +181,14 @@ public class StudentFragmentGrid extends Fragment{
...
@@ -181,9 +181,14 @@ public class StudentFragmentGrid extends Fragment{
else
else
onlineStudentsOK
=
true
;
onlineStudentsOK
=
true
;
}
}
@Override
public
void
loadComplete
()
{
loaded
();
}
@Override
@Override
public
void
loadImg
(
Img
image
)
{
public
void
loadImg
(
Img
image
)
{
loaded
();
}
}
public
void
error
(
Exception
e
)
{
public
void
error
(
Exception
e
)
{
if
(
progressDialog
.
isShowing
())
progressDialog
.
dismiss
();
if
(
progressDialog
.
isShowing
())
progressDialog
.
dismiss
();
...
@@ -211,7 +216,7 @@ public class StudentFragmentGrid extends Fragment{
...
@@ -211,7 +216,7 @@ public class StudentFragmentGrid extends Fragment{
GUITools
.
show_alert
(
getActivity
(),
R
.
string
.
loginErrorTxt
,
getString
(
R
.
string
.
serverError
),
new
GUITools
.
iOKListener
()
{
GUITools
.
show_alert
(
getActivity
(),
R
.
string
.
loginErrorTxt
,
getString
(
R
.
string
.
serverError
),
new
GUITools
.
iOKListener
()
{
@Override
@Override
public
void
ok
()
{
public
void
ok
()
{
PCBcontext
.
getNetService
().
restart_app
();
PCBcontext
.
getNetService
().
restart_app
(
false
);
}
}
});
});
}
}
...
@@ -237,7 +242,7 @@ public class StudentFragmentGrid extends Fragment{
...
@@ -237,7 +242,7 @@ public class StudentFragmentGrid extends Fragment{
GUITools
.
show_alert
(
getActivity
(),
R
.
string
.
loginErrorTxt
,
getString
(
R
.
string
.
noStudentsError
),
new
GUITools
.
iOKListener
()
{
GUITools
.
show_alert
(
getActivity
(),
R
.
string
.
loginErrorTxt
,
getString
(
R
.
string
.
noStudentsError
),
new
GUITools
.
iOKListener
()
{
@Override
@Override
public
void
ok
()
{
public
void
ok
()
{
PCBcontext
.
getNetService
().
restart_app
();
PCBcontext
.
getNetService
().
restart_app
(
false
);
}
}
});
});
...
...
android/Pictogram/tabletlibrary/src/main/java/com/yottacode/pictogram/tabletlibrary/net/NetServiceTablet.java
View file @
f942adcb
...
@@ -5,8 +5,10 @@ import android.content.Intent;
...
@@ -5,8 +5,10 @@ import android.content.Intent;
import
android.support.v4.app.NotificationCompat
;
import
android.support.v4.app.NotificationCompat
;
import
android.util.Log
;
import
android.util.Log
;
import
com.yottacode.pictogram.dao.User
;
import
com.yottacode.pictogram.net.iNetServiceDevice
;
import
com.yottacode.pictogram.net.iNetServiceDevice
;
import
com.yottacode.pictogram.tabletlibrary.R
;
import
com.yottacode.pictogram.tabletlibrary.R
;
import
com.yottacode.pictogram.tabletlibrary.gui.PictogramActivity
;
import
com.yottacode.pictogram.tabletlibrary.gui.SerialActivity
;
import
com.yottacode.pictogram.tabletlibrary.gui.SerialActivity
;
import
com.yottacode.pictogram.tools.PCBcontext
;
import
com.yottacode.pictogram.tools.PCBcontext
;
...
@@ -19,6 +21,7 @@ import com.yottacode.pictogram.tools.PCBcontext;
...
@@ -19,6 +21,7 @@ import com.yottacode.pictogram.tools.PCBcontext;
public
class
NetServiceTablet
implements
iNetServiceDevice
{
public
class
NetServiceTablet
implements
iNetServiceDevice
{
private
static
NotificationCompat
.
Builder
builder
;
private
static
NotificationCompat
.
Builder
builder
;
private
PictogramActivity
pictogramActivity
;
public
void
build
()
{
public
void
build
()
{
...
@@ -66,7 +69,7 @@ public class NetServiceTablet implements iNetServiceDevice {
...
@@ -66,7 +69,7 @@ public class NetServiceTablet implements iNetServiceDevice {
* the app. The most frequent reason is a password change while the user have been logged
* the app. The most frequent reason is a password change while the user have been logged
* offline
* offline
*/
*/
public
void
restart_app
(
Intent
serialActivity
)
{
public
void
restart_app
(
Intent
serialActivity
,
boolean
direct_login
)
{
Log
.
i
(
this
.
getClass
().
getCanonicalName
(),
"App restarting"
);
Log
.
i
(
this
.
getClass
().
getCanonicalName
(),
"App restarting"
);
if
(
serialActivity
==
null
)
{
if
(
serialActivity
==
null
)
{
...
@@ -79,10 +82,14 @@ public class NetServiceTablet implements iNetServiceDevice {
...
@@ -79,10 +82,14 @@ public class NetServiceTablet implements iNetServiceDevice {
}
}
serialActivity
=
new
Intent
(
PCBcontext
.
getContext
(),
serialClass
);
serialActivity
=
new
Intent
(
PCBcontext
.
getContext
(),
serialClass
);
}
}
serialActivity
.
putExtra
(
"resetPrevUser"
,
true
);
serialActivity
.
putExtra
(
"resetPrevUser"
,
!
direct_login
);
Log
.
e
(
this
.
getClass
().
getCanonicalName
(),
"resetPrevUser:"
+
serialActivity
.
getBooleanExtra
(
"resetPrevUser"
,
true
));
PCBcontext
.
getContext
().
startActivity
(
serialActivity
);
PCBcontext
.
getContext
().
startActivity
(
serialActivity
);
}
}
public
void
restart_app
()
{
restart_app
(
null
);}
public
void
restart_app
(
boolean
direct_login
)
{
restart_app
(
null
,
direct_login
);}
public
void
setPictogramActivity
(
PictogramActivity
pictogramActivity
)
{
this
.
pictogramActivity
=
pictogramActivity
;}
public
void
updateUserConfig
(
User
user
)
{
this
.
pictogramActivity
.
setConfig
();
}
}
}
android/Pictogram/watch/src/main/java/com/yottacode/pictogram/watch/net/NetServiceWatch.java
View file @
f942adcb
package
com
.
yottacode
.
pictogram
.
watch
.
net
;
package
com
.
yottacode
.
pictogram
.
watch
.
net
;
import
android.app.Activity
;
import
android.content.Intent
;
import
android.content.Intent
;
import
android.util.Log
;
import
android.util.Log
;
import
android.widget.TextView
;
import
android.widget.TextView
;
import
com.yottacode.pictogram.dao.User
;
import
com.yottacode.pictogram.net.iNetServiceDevice
;
import
com.yottacode.pictogram.net.iNetServiceDevice
;
import
com.yottacode.pictogram.watch.R
;
import
com.yottacode.pictogram.tools.PCBcontext
;
import
com.yottacode.pictogram.tools.PCBcontext
;
import
com.yottacode.pictogram.watch.R
;
/**
/**
...
@@ -42,16 +42,21 @@ public class NetServiceWatch implements iNetServiceDevice {
...
@@ -42,16 +42,21 @@ public class NetServiceWatch implements iNetServiceDevice {
* the app. The most frequent reason is a password change while the user have been logged
* the app. The most frequent reason is a password change while the user have been logged
* offline
* offline
*/
*/
public
void
restart_app
()
{
public
void
restart_app
(
boolean
direct_login
)
{
restart_app
(
new
Intent
(
PCBcontext
.
getContext
(),
Activity
));
restart_app
(
new
Intent
(
PCBcontext
.
getContext
(),
Activity
)
,
direct_login
);
}
}
@Override
@Override
public
void
restart_app
(
Intent
intent
)
{
public
void
restart_app
(
Intent
intent
,
boolean
direct_login
)
{
intent
.
putExtra
(
"resetPrevUser"
,
true
);
intent
.
putExtra
(
"resetPrevUser"
,
!
direct_login
);
PCBcontext
.
getContext
().
startActivity
(
intent
);
PCBcontext
.
getContext
().
startActivity
(
intent
);
}
}
@Override
public
void
updateUserConfig
(
User
user
)
{
}
public
void
set_notifyTextView
(
TextView
_notifyTextView
)
{
public
void
set_notifyTextView
(
TextView
_notifyTextView
)
{
this
.
status
=
_notifyTextView
;
this
.
status
=
_notifyTextView
;
...
...
android/Pictogram/watch/watch.iml
View file @
f942adcb
...
@@ -66,14 +66,6 @@
...
@@ -66,14 +66,6 @@
<sourceFolder
url=
"file://$MODULE_DIR$/src/DefaultFlavor/jni"
isTestSource=
"false"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/DefaultFlavor/jni"
isTestSource=
"false"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/DefaultFlavor/rs"
isTestSource=
"false"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/DefaultFlavor/rs"
isTestSource=
"false"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/DefaultFlavor/shaders"
isTestSource=
"false"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/DefaultFlavor/shaders"
isTestSource=
"false"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/testDefaultFlavor/res"
type=
"java-test-resource"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/testDefaultFlavor/resources"
type=
"java-test-resource"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/testDefaultFlavor/assets"
type=
"java-test-resource"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/testDefaultFlavor/aidl"
isTestSource=
"true"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/testDefaultFlavor/java"
isTestSource=
"true"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/testDefaultFlavor/jni"
isTestSource=
"true"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/testDefaultFlavor/rs"
isTestSource=
"true"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/testDefaultFlavor/shaders"
isTestSource=
"true"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/androidTestDefaultFlavor/res"
type=
"java-test-resource"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/androidTestDefaultFlavor/res"
type=
"java-test-resource"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/androidTestDefaultFlavor/resources"
type=
"java-test-resource"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/androidTestDefaultFlavor/resources"
type=
"java-test-resource"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/androidTestDefaultFlavor/assets"
type=
"java-test-resource"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/androidTestDefaultFlavor/assets"
type=
"java-test-resource"
/>
...
@@ -82,6 +74,14 @@
...
@@ -82,6 +74,14 @@
<sourceFolder
url=
"file://$MODULE_DIR$/src/androidTestDefaultFlavor/jni"
isTestSource=
"true"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/androidTestDefaultFlavor/jni"
isTestSource=
"true"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/androidTestDefaultFlavor/rs"
isTestSource=
"true"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/androidTestDefaultFlavor/rs"
isTestSource=
"true"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/androidTestDefaultFlavor/shaders"
isTestSource=
"true"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/androidTestDefaultFlavor/shaders"
isTestSource=
"true"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/testDefaultFlavor/res"
type=
"java-test-resource"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/testDefaultFlavor/resources"
type=
"java-test-resource"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/testDefaultFlavor/assets"
type=
"java-test-resource"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/testDefaultFlavor/aidl"
isTestSource=
"true"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/testDefaultFlavor/java"
isTestSource=
"true"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/testDefaultFlavor/jni"
isTestSource=
"true"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/testDefaultFlavor/rs"
isTestSource=
"true"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/testDefaultFlavor/shaders"
isTestSource=
"true"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/debug/res"
type=
"java-resource"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/debug/res"
type=
"java-resource"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/debug/resources"
type=
"java-resource"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/debug/resources"
type=
"java-resource"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/debug/assets"
type=
"java-resource"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/debug/assets"
type=
"java-resource"
/>
...
...
android/Pictogram/yotta_tablet/build.gradle
View file @
f942adcb
...
@@ -9,14 +9,7 @@ android {
...
@@ -9,14 +9,7 @@ android {
storePassword 'danoia'
storePassword 'danoia'
}
}
}*/
}*/
signingConfigs
{
config
{
keyAlias
'config_key'
keyPassword
'config_pwd'
storeFile
file
(
'config_file'
)
storePassword
'config_pwd'
}
}
compileSdkVersion
24
compileSdkVersion
24
buildToolsVersion
"23.0.2"
buildToolsVersion
"23.0.2"
defaultConfig
{
defaultConfig
{
...
@@ -25,6 +18,7 @@ android {
...
@@ -25,6 +18,7 @@ android {
targetSdkVersion
22
targetSdkVersion
22
versionCode
1
versionCode
1
versionName
"1.0"
versionName
"1.0"
resValue
"string"
,
"SerialClass"
,
"com.yottacode.pictogram.tabletlibrary.gui.SerialActivity"
// signingConfig signingConfigs.config
// signingConfig signingConfigs.config
}
}
productFlavors
{
productFlavors
{
...
@@ -39,7 +33,6 @@ android {
...
@@ -39,7 +33,6 @@ android {
PreFlavor
{
PreFlavor
{
resValue
"string"
,
"server"
,
"https://pre.yottacode.com"
resValue
"string"
,
"server"
,
"https://pre.yottacode.com"
resValue
"bool"
,
"ssl_connect"
,
"true"
resValue
"bool"
,
"ssl_connect"
,
"true"
signingConfig
signingConfigs
.
config
}
}
}
}
}
}
...
...
android/Pictogram/yotta_tablet/yotta_tablet.iml
View file @
f942adcb
...
@@ -8,12 +8,12 @@
...
@@ -8,12 +8,12 @@
</facet>
</facet>
<facet
type=
"android"
name=
"Android"
>
<facet
type=
"android"
name=
"Android"
>
<configuration>
<configuration>
<option
name=
"SELECTED_BUILD_VARIANT"
value=
"
CI
FlavorDebug"
/>
<option
name=
"SELECTED_BUILD_VARIANT"
value=
"
Pre
FlavorDebug"
/>
<option
name=
"SELECTED_TEST_ARTIFACT"
value=
"_android_test_"
/>
<option
name=
"SELECTED_TEST_ARTIFACT"
value=
"_android_test_"
/>
<option
name=
"ASSEMBLE_TASK_NAME"
value=
"assemble
CI
FlavorDebug"
/>
<option
name=
"ASSEMBLE_TASK_NAME"
value=
"assemble
Pre
FlavorDebug"
/>
<option
name=
"COMPILE_JAVA_TASK_NAME"
value=
"compile
CI
FlavorDebugSources"
/>
<option
name=
"COMPILE_JAVA_TASK_NAME"
value=
"compile
Pre
FlavorDebugSources"
/>
<afterSyncTasks>
<afterSyncTasks>
<task>
generate
CI
FlavorDebugSources
</task>
<task>
generate
Pre
FlavorDebugSources
</task>
</afterSyncTasks>
</afterSyncTasks>
<option
name=
"ALLOW_USER_CONFIGURATION"
value=
"false"
/>
<option
name=
"ALLOW_USER_CONFIGURATION"
value=
"false"
/>
<option
name=
"MANIFEST_FILE_RELATIVE_PATH"
value=
"/src/main/AndroidManifest.xml"
/>
<option
name=
"MANIFEST_FILE_RELATIVE_PATH"
value=
"/src/main/AndroidManifest.xml"
/>
...
@@ -24,64 +24,64 @@
...
@@ -24,64 +24,64 @@
</facet>
</facet>
</component>
</component>
<component
name=
"NewModuleRootManager"
LANGUAGE_LEVEL=
"JDK_1_7"
inherit-compiler-output=
"false"
>
<component
name=
"NewModuleRootManager"
LANGUAGE_LEVEL=
"JDK_1_7"
inherit-compiler-output=
"false"
>
<output
url=
"file://$MODULE_DIR$/build/intermediates/classes/
CI
Flavor/debug"
/>
<output
url=
"file://$MODULE_DIR$/build/intermediates/classes/
Pre
Flavor/debug"
/>
<output-test
url=
"file://$MODULE_DIR$/build/intermediates/classes/test/
CI
Flavor/debug"
/>
<output-test
url=
"file://$MODULE_DIR$/build/intermediates/classes/test/
Pre
Flavor/debug"
/>
<exclude-output
/>
<exclude-output
/>
<content
url=
"file://$MODULE_DIR$"
>
<content
url=
"file://$MODULE_DIR$"
>
<sourceFolder
url=
"file://$MODULE_DIR$/build/generated/source/r/
CI
Flavor/debug"
isTestSource=
"false"
generated=
"true"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/build/generated/source/r/
Pre
Flavor/debug"
isTestSource=
"false"
generated=
"true"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/build/generated/source/aidl/
CI
Flavor/debug"
isTestSource=
"false"
generated=
"true"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/build/generated/source/aidl/
Pre
Flavor/debug"
isTestSource=
"false"
generated=
"true"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/build/generated/source/buildConfig/
CI
Flavor/debug"
isTestSource=
"false"
generated=
"true"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/build/generated/source/buildConfig/
Pre
Flavor/debug"
isTestSource=
"false"
generated=
"true"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/build/generated/source/rs/
CI
Flavor/debug"
isTestSource=
"false"
generated=
"true"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/build/generated/source/rs/
Pre
Flavor/debug"
isTestSource=
"false"
generated=
"true"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/build/generated/source/apt/
CI
Flavor/debug"
isTestSource=
"false"
generated=
"true"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/build/generated/source/apt/
Pre
Flavor/debug"
isTestSource=
"false"
generated=
"true"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/build/generated/res/rs/
CI
Flavor/debug"
type=
"java-resource"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/build/generated/res/rs/
Pre
Flavor/debug"
type=
"java-resource"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/build/generated/res/resValues/
CI
Flavor/debug"
type=
"java-resource"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/build/generated/res/resValues/
Pre
Flavor/debug"
type=
"java-resource"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/
CI
FlavorDebug/res"
type=
"java-resource"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/
Pre
FlavorDebug/res"
type=
"java-resource"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/
CI
FlavorDebug/resources"
type=
"java-resource"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/
Pre
FlavorDebug/resources"
type=
"java-resource"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/
CI
FlavorDebug/assets"
type=
"java-resource"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/
Pre
FlavorDebug/assets"
type=
"java-resource"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/
CI
FlavorDebug/aidl"
isTestSource=
"false"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/
Pre
FlavorDebug/aidl"
isTestSource=
"false"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/
CI
FlavorDebug/java"
isTestSource=
"false"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/
Pre
FlavorDebug/java"
isTestSource=
"false"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/
CI
FlavorDebug/jni"
isTestSource=
"false"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/
Pre
FlavorDebug/jni"
isTestSource=
"false"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/
CI
FlavorDebug/rs"
isTestSource=
"false"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/
Pre
FlavorDebug/rs"
isTestSource=
"false"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/
CI
FlavorDebug/shaders"
isTestSource=
"false"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/
Pre
FlavorDebug/shaders"
isTestSource=
"false"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/build/generated/source/r/androidTest/
CI
Flavor/debug"
isTestSource=
"true"
generated=
"true"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/build/generated/source/r/androidTest/
Pre
Flavor/debug"
isTestSource=
"true"
generated=
"true"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/build/generated/source/aidl/androidTest/
CI
Flavor/debug"
isTestSource=
"true"
generated=
"true"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/build/generated/source/aidl/androidTest/
Pre
Flavor/debug"
isTestSource=
"true"
generated=
"true"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/build/generated/source/buildConfig/androidTest/
CI
Flavor/debug"
isTestSource=
"true"
generated=
"true"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/build/generated/source/buildConfig/androidTest/
Pre
Flavor/debug"
isTestSource=
"true"
generated=
"true"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/build/generated/source/rs/androidTest/
CI
Flavor/debug"
isTestSource=
"true"
generated=
"true"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/build/generated/source/rs/androidTest/
Pre
Flavor/debug"
isTestSource=
"true"
generated=
"true"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/build/generated/source/apt/androidTest/
CI
Flavor/debug"
isTestSource=
"true"
generated=
"true"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/build/generated/source/apt/androidTest/
Pre
Flavor/debug"
isTestSource=
"true"
generated=
"true"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/build/generated/res/rs/androidTest/
CI
Flavor/debug"
type=
"java-test-resource"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/build/generated/res/rs/androidTest/
Pre
Flavor/debug"
type=
"java-test-resource"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/build/generated/res/resValues/androidTest/
CI
Flavor/debug"
type=
"java-test-resource"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/build/generated/res/resValues/androidTest/
Pre
Flavor/debug"
type=
"java-test-resource"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/test
CI
FlavorDebug/res"
type=
"java-test-resource"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/test
Pre
FlavorDebug/res"
type=
"java-test-resource"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/test
CI
FlavorDebug/resources"
type=
"java-test-resource"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/test
Pre
FlavorDebug/resources"
type=
"java-test-resource"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/test
CI
FlavorDebug/assets"
type=
"java-test-resource"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/test
Pre
FlavorDebug/assets"
type=
"java-test-resource"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/test
CI
FlavorDebug/aidl"
isTestSource=
"true"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/test
Pre
FlavorDebug/aidl"
isTestSource=
"true"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/test
CI
FlavorDebug/java"
isTestSource=
"true"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/test
Pre
FlavorDebug/java"
isTestSource=
"true"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/test
CI
FlavorDebug/jni"
isTestSource=
"true"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/test
Pre
FlavorDebug/jni"
isTestSource=
"true"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/test
CI
FlavorDebug/rs"
isTestSource=
"true"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/test
Pre
FlavorDebug/rs"
isTestSource=
"true"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/test
CI
FlavorDebug/shaders"
isTestSource=
"true"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/test
Pre
FlavorDebug/shaders"
isTestSource=
"true"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/
CI
Flavor/res"
type=
"java-resource"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/
Pre
Flavor/res"
type=
"java-resource"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/
CI
Flavor/resources"
type=
"java-resource"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/
Pre
Flavor/resources"
type=
"java-resource"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/
CI
Flavor/assets"
type=
"java-resource"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/
Pre
Flavor/assets"
type=
"java-resource"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/
CI
Flavor/aidl"
isTestSource=
"false"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/
Pre
Flavor/aidl"
isTestSource=
"false"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/
CI
Flavor/java"
isTestSource=
"false"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/
Pre
Flavor/java"
isTestSource=
"false"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/
CI
Flavor/jni"
isTestSource=
"false"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/
Pre
Flavor/jni"
isTestSource=
"false"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/
CI
Flavor/rs"
isTestSource=
"false"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/
Pre
Flavor/rs"
isTestSource=
"false"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/
CI
Flavor/shaders"
isTestSource=
"false"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/
Pre
Flavor/shaders"
isTestSource=
"false"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/
testCI
Flavor/res"
type=
"java-test-resource"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/
androidTestPre
Flavor/res"
type=
"java-test-resource"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/
testCI
Flavor/resources"
type=
"java-test-resource"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/
androidTestPre
Flavor/resources"
type=
"java-test-resource"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/
testCI
Flavor/assets"
type=
"java-test-resource"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/
androidTestPre
Flavor/assets"
type=
"java-test-resource"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/
testCI
Flavor/aidl"
isTestSource=
"true"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/
androidTestPre
Flavor/aidl"
isTestSource=
"true"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/
testCI
Flavor/java"
isTestSource=
"true"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/
androidTestPre
Flavor/java"
isTestSource=
"true"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/
testCI
Flavor/jni"
isTestSource=
"true"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/
androidTestPre
Flavor/jni"
isTestSource=
"true"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/
testCI
Flavor/rs"
isTestSource=
"true"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/
androidTestPre
Flavor/rs"
isTestSource=
"true"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/
testCI
Flavor/shaders"
isTestSource=
"true"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/
androidTestPre
Flavor/shaders"
isTestSource=
"true"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/
androidTestCI
Flavor/res"
type=
"java-test-resource"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/
testPre
Flavor/res"
type=
"java-test-resource"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/
androidTestCI
Flavor/resources"
type=
"java-test-resource"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/
testPre
Flavor/resources"
type=
"java-test-resource"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/
androidTestCI
Flavor/assets"
type=
"java-test-resource"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/
testPre
Flavor/assets"
type=
"java-test-resource"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/
androidTestCI
Flavor/aidl"
isTestSource=
"true"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/
testPre
Flavor/aidl"
isTestSource=
"true"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/
androidTestCI
Flavor/java"
isTestSource=
"true"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/
testPre
Flavor/java"
isTestSource=
"true"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/
androidTestCI
Flavor/jni"
isTestSource=
"true"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/
testPre
Flavor/jni"
isTestSource=
"true"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/
androidTestCI
Flavor/rs"
isTestSource=
"true"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/
testPre
Flavor/rs"
isTestSource=
"true"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/
androidTestCI
Flavor/shaders"
isTestSource=
"true"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/
testPre
Flavor/shaders"
isTestSource=
"true"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/debug/res"
type=
"java-resource"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/debug/res"
type=
"java-resource"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/debug/resources"
type=
"java-resource"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/debug/resources"
type=
"java-resource"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/debug/assets"
type=
"java-resource"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/debug/assets"
type=
"java-resource"
/>
...
@@ -106,14 +106,6 @@
...
@@ -106,14 +106,6 @@
<sourceFolder
url=
"file://$MODULE_DIR$/src/main/jni"
isTestSource=
"false"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/main/jni"
isTestSource=
"false"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/main/rs"
isTestSource=
"false"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/main/rs"
isTestSource=
"false"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/main/shaders"
isTestSource=
"false"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/main/shaders"
isTestSource=
"false"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/androidTest/res"
type=
"java-test-resource"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/androidTest/resources"
type=
"java-test-resource"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/androidTest/assets"
type=
"java-test-resource"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/androidTest/aidl"
isTestSource=
"true"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/androidTest/java"
isTestSource=
"true"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/androidTest/jni"
isTestSource=
"true"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/androidTest/rs"
isTestSource=
"true"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/androidTest/shaders"
isTestSource=
"true"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/test/res"
type=
"java-test-resource"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/test/res"
type=
"java-test-resource"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/test/resources"
type=
"java-test-resource"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/test/resources"
type=
"java-test-resource"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/test/assets"
type=
"java-test-resource"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/test/assets"
type=
"java-test-resource"
/>
...
@@ -122,6 +114,14 @@
...
@@ -122,6 +114,14 @@
<sourceFolder
url=
"file://$MODULE_DIR$/src/test/jni"
isTestSource=
"true"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/test/jni"
isTestSource=
"true"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/test/rs"
isTestSource=
"true"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/test/rs"
isTestSource=
"true"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/test/shaders"
isTestSource=
"true"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/test/shaders"
isTestSource=
"true"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/androidTest/res"
type=
"java-test-resource"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/androidTest/resources"
type=
"java-test-resource"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/androidTest/assets"
type=
"java-test-resource"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/androidTest/aidl"
isTestSource=
"true"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/androidTest/java"
isTestSource=
"true"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/androidTest/jni"
isTestSource=
"true"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/androidTest/rs"
isTestSource=
"true"
/>
<sourceFolder
url=
"file://$MODULE_DIR$/src/androidTest/shaders"
isTestSource=
"true"
/>
<excludeFolder
url=
"file://$MODULE_DIR$/build/intermediates/assets"
/>
<excludeFolder
url=
"file://$MODULE_DIR$/build/intermediates/assets"
/>
<excludeFolder
url=
"file://$MODULE_DIR$/build/intermediates/blame"
/>
<excludeFolder
url=
"file://$MODULE_DIR$/build/intermediates/blame"
/>
<excludeFolder
url=
"file://$MODULE_DIR$/build/intermediates/builds"
/>
<excludeFolder
url=
"file://$MODULE_DIR$/build/intermediates/builds"
/>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment