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
ea32bf48
authored
Mar 31, 2016
by
Fernando Martínez Santiago
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
working on gui refactorization (vii)
parent
d022b4ed
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
86 additions
and
88 deletions
android/Pictogram/app/src/main/java/com/yottacode/pictogram/dao/Device.java
android/Pictogram/app/src/main/java/com/yottacode/pictogram/gui/LoginActivity.java
android/Pictogram/app/src/main/java/com/yottacode/pictogram/gui/SerialActivity.java
android/Pictogram/app/src/main/java/com/yottacode/pictogram/gui/StudentFragmentGrid.java
android/Pictogram/app/src/main/java/com/yottacode/pictogram/dao/Device.java
View file @
ea32bf48
...
...
@@ -292,11 +292,31 @@ public class Device extends SQLiteOpenHelper {
public
void
insertUser
(
User
user
)
{
SQLiteDatabase
db
=
this
.
getWritableDatabase
();
Log
.
i
(
"FERNANDO"
,
"INSERT INTO users_detail values ("
+
user
.
get_id_stu
()
+
", "
+
"'"
+
user
.
get_nickname_stu
()
+
"', "
+
(
user
.
get_pwd_stu
()==
null
?
"null, "
:
(
"'"
+
user
.
get_pwd_stu
()
+
"', "
+
"'"
))
+
user
.
get_name_stu
()
+
"', "
+
"'"
+
user
.
get_surname_stu
()
+
"', "
+
"'"
+
user
.
get_url_img_stu
()
+
"', "
+
"'"
+
user
.
get_gender_stu
()
+
"', "
+
"'"
+
user
.
get_lang_stu
()
+
"', "
+
"'"
+
user
.
get_json_attrs
()
+
"', "
+
"'"
+
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
()
+
"'"
+
")"
);
db
.
execSQL
(
"INSERT INTO users_detail values ("
+
user
.
get_id_stu
()
+
", "
+
"'"
+
user
.
get_nickname_stu
()
+
"', "
+
user
.
get_pwd_stu
()==
null
?
""
:
(
"'"
+
user
.
get_pwd_stu
()
+
"'
, "
+
"'"
)
+
user
.
get_name_stu
()
+
"', "
+
(
user
.
get_pwd_stu
()==
null
?
"NULL"
:
(
"'"
+
user
.
get_pwd_stu
()
+
"'"
))+
"
, "
+
"'"
+
user
.
get_name_stu
()
+
"', "
+
"'"
+
user
.
get_surname_stu
()
+
"', "
+
"'"
+
user
.
get_url_img_stu
()
+
"', "
+
"'"
+
user
.
get_gender_stu
()
+
"', "
+
...
...
android/Pictogram/app/src/main/java/com/yottacode/pictogram/gui/LoginActivity.java
View file @
ea32bf48
...
...
@@ -49,43 +49,6 @@ public class LoginActivity extends FragmentActivity {
protected
void
show_login_failed
(
int
msg
)
{
AlertDialog
.
Builder
builder
=
new
AlertDialog
.
Builder
(
LoginActivity
.
this
);
builder
.
setMessage
(
getString
(
msg
))
.
setCancelable
(
false
)
.
setPositiveButton
(
"Ok"
,
new
DialogInterface
.
OnClickListener
()
{
public
void
onClick
(
DialogInterface
dialog
,
int
id
)
{
}
});
AlertDialog
alert
=
builder
.
create
();
alert
.
show
();
}
private
void
manage_offline_supervisor
(
String
username
,
String
password
)
{
try
{
Log
.
d
(
LOG_TAG
,
"username utilizado:"
+
username
);
Log
.
d
(
LOG_TAG
,
"password utilizado:"
+
password
);
Vector
<
User
>
localUsers
=
PCBcontext
.
getDevice
().
findUser
(
username
,
password
);
// Si sólo hay 1 estudiante, cargo el st_id
if
(
localUsers
.
size
()
==
1
){
PCBcontext
.
set_user
(
localUsers
.
elementAt
(
0
),
null
,
null
);
Intent
pictogramActivity
=
new
Intent
(
this
,
PictogramActivity
.
class
);
startActivity
(
pictogramActivity
);
}
else
{
getIntent
().
putExtra
(
"sup_id"
,
localUsers
.
elementAt
(
0
).
get_id_sup
());
//TODO: comprobar, ¿esto no está hecho ya?
setContentView
(
R
.
layout
.
activity_login
);
}
}
catch
(
JSONException
e
)
{
e
.
printStackTrace
();
}
catch
(
LoginException
e
)
{
show_login_failed
(
e
.
known_supervisor
()
?
R
.
string
.
passErrorMsg
:
e
.
no_students
()
?
R
.
string
.
noStudentsError
:
R
.
string
.
userErrorMsg
);
}
}
/**
...
...
@@ -95,18 +58,10 @@ public class LoginActivity extends FragmentActivity {
@TargetApi
(
Build
.
VERSION_CODES
.
LOLLIPOP
)
@Override
protected
void
onCreate
(
Bundle
savedInstanceState
)
{
super
.
onCreate
(
savedInstanceState
);
requestWindowFeature
(
Window
.
FEATURE_NO_TITLE
);
final
Intent
intent
=
getIntent
();
Boolean
offline
=
intent
.
getBooleanExtra
(
"offline"
,
false
);
if
(
offline
)
manage_offline_supervisor
(
intent
.
getStringExtra
(
"username"
),
intent
.
getStringExtra
(
"password"
));
else
{
setContentView
(
R
.
layout
.
activity_login
);
}
}
@Override
protected
void
onResume
()
{
super
.
onResume
();
...
...
android/Pictogram/app/src/main/java/com/yottacode/pictogram/gui/SerialActivity.java
View file @
ea32bf48
...
...
@@ -58,7 +58,7 @@ public class SerialActivity extends Activity {
private
void
manageSupervisorLogin
(
final
String
email
,
final
String
password
,
boolean
online
)
{
final
Intent
loginActivity
=
new
Intent
(
SerialActivity
.
this
,
LoginActivity
.
class
);
if
(
online
)
{
final
ProgressDialog
progressDialog
=
ProgressDialog
.
show
(
SerialActivity
.
this
,
SerialActivity
.
this
.
getBaseContext
().
getString
(
R
.
string
.
userLoadingTxt
),
SerialActivity
.
this
.
getBaseContext
().
getString
(
R
.
string
.
userLoadingTxt
),
false
,
false
);
...
...
@@ -96,9 +96,9 @@ public class SerialActivity extends Activity {
}
try
{
Intent
loginActivity
=
new
Intent
(
SerialActivity
.
this
,
LoginActivity
.
class
);
Integer
su_id
=
user
.
getInt
(
TAG_ID
);
int
su_id_int
=
su_id
.
intValue
();
;
loginActivity
.
putExtra
(
"offline"
,
false
);
loginActivity
.
putExtra
(
"sup_id"
,
su_id_int
);
...
...
@@ -110,7 +110,6 @@ public class SerialActivity extends Activity {
loginActivity
.
putExtra
(
"pic"
,
user
.
getString
(
TAG_PIC
));
loginActivity
.
putExtra
(
"gender"
,
user
.
getString
(
TAG_GENDER
));
loginActivity
.
putExtra
(
"lang"
,
user
.
getString
(
TAG_LANG
));
Log
.
i
(
this
.
getClass
().
getCanonicalName
(),
"FERNANDO arrancando loginActivity"
);
startActivity
(
loginActivity
);
}
catch
(
JSONException
e
)
{
...
...
@@ -125,14 +124,40 @@ public class SerialActivity extends Activity {
SerialActivity
.
this
.
error
(
e
);
}
});
}
else
{
}
else
//offline
checkLogin_sup_offline
(
email
,
password
);
}
private
void
checkLogin_sup_offline
(
String
username
,
String
password
)
{
try
{
Log
.
d
(
LOG_TAG
,
"username utilizado:"
+
username
);
Log
.
d
(
LOG_TAG
,
"password utilizado:"
+
password
);
Vector
<
User
>
localUsers
=
PCBcontext
.
getDevice
().
findUser
(
username
,
password
);
// Si sólo hay 1 estudiante, cargo el st_id
if
(
localUsers
.
size
()
==
1
)
{
PCBcontext
.
set_user
(
localUsers
.
elementAt
(
0
),
null
,
null
);
Intent
pictogramActivity
=
new
Intent
(
this
,
PictogramActivity
.
class
);
startActivity
(
pictogramActivity
);
}
else
{
Intent
loginActivity
=
new
Intent
(
SerialActivity
.
this
,
LoginActivity
.
class
);
loginActivity
.
putExtra
(
"sup_id"
,
localUsers
.
elementAt
(
0
).
get_id_sup
());
//TODO: comprobar, ¿esto no está hecho ya?
loginActivity
.
putExtra
(
"offline"
,
true
);
loginActivity
.
putExtra
(
"username"
,
email
);
loginActivity
.
putExtra
(
"password"
,
password
);
startActivity
(
loginActivity
);
setContentView
(
R
.
layout
.
activity_login
);
}
}
catch
(
JSONException
e
)
{
e
.
printStackTrace
();
}
catch
(
LoginException
e
)
{
if
(
e
.
knonwn_student
())
show_login_failed
(
R
.
string
.
passErrorMsg
);
else
if
(
e
.
known_supervisor
())
show_login_failed
(
R
.
string
.
userErrorMsg
);
else
if
(
e
.
no_students
())
show_login_failed
(
R
.
string
.
noStudentsError
);
}
}
private
void
manageStudentLogin
(
final
String
username
,
final
String
password
,
boolean
online
)
{
final
Intent
pictogramActivity
=
new
Intent
(
SerialActivity
.
this
,
PictogramActivity
.
class
);
...
...
@@ -208,9 +233,9 @@ public class SerialActivity extends Activity {
e
.
printStackTrace
();
}
catch
(
LoginException
e
)
{
if
(
e
.
knonwn_student
())
this
.
show_pwd_unknown
(
);
show_login_failed
(
R
.
string
.
userErrorMsg
);
else
this
.
show_user_unknown
(
);
show_login_failed
(
R
.
string
.
passErrorMsg
);
}
}
//offline student login
...
...
@@ -251,11 +276,10 @@ public class SerialActivity extends Activity {
error
=
null
;
}
if
(
error
!=
null
){
if
(
error
.
contains
(
"Invalid password"
)
||
error
.
contains
(
"No credentials sent"
))
show_
pwd_unknown
(
);
show_
login_failed
(
R
.
string
.
passErrorMsg
);
else
if
(
error
.
contains
(
"User not found"
))
show_
user_unknown
(
);
show_
login_failed
(
R
.
string
.
userErrorMsg
);
}
return
error
==
null
;
}
...
...
@@ -273,13 +297,6 @@ public class SerialActivity extends Activity {
alert
.
show
();
}
private
void
show_user_unknown
()
{
show_login_failed
(
R
.
string
.
userErrorMsg
);
}
private
void
show_pwd_unknown
()
{
show_login_failed
(
R
.
string
.
passErrorMsg
);
}
private
void
error
(
Exception
e
)
{
Log
.
e
(
this
.
getClass
().
getName
(),
e
.
getLocalizedMessage
());
...
...
@@ -316,7 +333,8 @@ public class SerialActivity extends Activity {
// Escribo el último valor indicado de username
mSerialViewMail
.
setText
(
username
);
if
(
username
.
equals
(
""
)
||
password
.
equals
(
""
))
{
// No tengo aún usuario. Espero a que lo indique
if
(!
username
.
equals
(
""
)
&&
!
password
.
equals
(
""
))
login
(
username
,
password
);
Button
mEntrarButton
=
(
Button
)
findViewById
(
R
.
id
.
entrar_button
);
mEntrarButton
.
setOnClickListener
(
new
OnClickListener
()
{
...
...
@@ -324,17 +342,14 @@ public class SerialActivity extends Activity {
public
void
onClick
(
View
view
)
{
String
username
=
mSerialViewMail
.
getText
().
toString
();
String
password
=
mSerialViewPass
.
getText
().
toString
();
SharedPreferences
settings
=
getSharedPreferences
(
PREFS_NAME
,
0
);
SharedPreferences
.
Editor
editor
=
settings
.
edit
();
editor
.
putString
(
"username"
,
username
);
editor
.
putString
(
"password"
,
password
);
editor
.
commit
();
SerialActivity
.
this
.
login
(
username
,
password
);
}
Log
.
i
(
this
.
getClass
().
getCanonicalName
(),
"FERNANDO CLICK"
);
login
(
username
,
password
);
}
});
}
else
login
(
username
,
password
);
}
}
}
\ No newline at end of file
android/Pictogram/app/src/main/java/com/yottacode/pictogram/gui/StudentFragmentGrid.java
View file @
ea32bf48
...
...
@@ -50,11 +50,11 @@ public class StudentFragmentGrid extends Fragment{
final
String
TAG_PIC
=
"pic"
;
final
String
TAG_LANG
=
"lang"
;
final
String
TAG_ATTRIBUTES
=
"attributes"
;
final
String
TAG_SUPERVIS
ED
=
"supervised
"
;
final
String
TAG_SUPERVIS
ION
=
"supervision
"
;
Vector
<
Integer
>
idStudents
;
String
nameStudents
[];
Vector
<
Bitmap
>
imageStudents
;
private
JSONArray
students
;
private
Vector
<
JSONObject
>
downloaded_
students
;
GridView
gridView
;
...
...
@@ -87,7 +87,7 @@ public class StudentFragmentGrid extends Fragment{
}
private
void
new_user
(
int
i
)
{
JSONObject
st
=
this
.
students
.
optJSONObjec
t
(
i
);
JSONObject
st
=
this
.
downloaded_students
.
ge
t
(
i
);
Intent
intent
=
getActivity
().
getIntent
();
try
{
User
new_user
=
new
User
(
...
...
@@ -132,16 +132,15 @@ public class StudentFragmentGrid extends Fragment{
}
}
private
void
create_student_list_online
()
{
final
Vector
<
Img
>
imgs
=
new
Vector
<>(
students
.
length
());
this
.
nameStudents
=
new
String
[
students
.
length
()];
this
.
idStudents
=
new
Vector
<>(
students
.
length
());
this
.
imageStudents
=
new
Vector
<>(
students
.
length
());
final
Vector
<
Img
>
imgs
=
new
Vector
<>(
downloaded_students
.
size
());
this
.
nameStudents
=
new
String
[
downloaded_students
.
size
()];
this
.
idStudents
=
new
Vector
<>(
downloaded_students
.
size
());
this
.
imageStudents
=
new
Vector
<>(
downloaded_students
.
size
());
for
(
int
i
=
0
;
i
<
students
.
length
();
i
++)
{
for
(
int
i
=
0
;
i
<
downloaded_students
.
size
();
i
++)
{
JSONObject
st
;
try
{
st
=
students
.
getJSONObject
(
i
);
if
(
st
.
getInt
(
TAG_SUPERVISED
)==
0
)
continue
;
st
=
downloaded_students
.
get
(
i
);
Integer
st_id
=
st
.
getInt
(
TAG_ID
);
String
st_name
=
st
.
getString
(
TAG_NAME
);
String
st_pic
=
st
.
getString
(
TAG_PIC
);
...
...
@@ -162,8 +161,8 @@ public class StudentFragmentGrid extends Fragment{
@Override
public
void
loadComplete
()
{
progressDialog
.
dismiss
();
if
(
students
.
length
()
>
1
)
{
for
(
int
i
=
0
;
i
<
students
.
length
();
i
++)
if
(
downloaded_students
.
size
()
>
1
)
{
for
(
int
i
=
0
;
i
<
imgs
.
size
();
i
++)
try
{
imageStudents
.
add
(
imgs
.
get
(
i
).
get_bitmap
(
getActivity
().
getBaseContext
()));
}
catch
(
IOException
e
)
{
...
...
@@ -208,7 +207,17 @@ public class StudentFragmentGrid extends Fragment{
@Override
public
void
result
(
JSONArray
students
)
{
progressDialog
.
dismiss
();
StudentFragmentGrid
.
this
.
students
=
students
;
StudentFragmentGrid
.
this
.
downloaded_students
=
new
Vector
();
for
(
int
i
=
0
;
i
<
students
.
length
();
i
++)
{
JSONObject
student
;
try
{
student
=
students
.
getJSONObject
(
i
);
if
(
student
.
getInt
(
TAG_SUPERVISION
)>
0
)
StudentFragmentGrid
.
this
.
downloaded_students
.
add
(
student
);
}
catch
(
JSONException
e
)
{
e
.
printStackTrace
();
}
}
create_student_list_online
();
switch
(
students
.
length
())
{
case
0
:
...
...
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