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
dc3761c6
authored
Mar 29, 2016
by
Fernando Martínez Santiago
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
Working on login refactorization (iii)
parent
ee792d66
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
141 additions
and
133 deletions
android/Pictogram/app/src/fernandoFlavor/java/com/yottacode/pictogrammar/Translate.java
android/Pictogram/app/src/main/java/com/yottacode/net/RestapiWrapper.java
android/Pictogram/app/src/main/java/com/yottacode/pictogram/dao/Picto.java
android/Pictogram/app/src/main/java/com/yottacode/pictogram/gui/LoginActivity.java
android/Pictogram/app/src/main/java/com/yottacode/pictogram/gui/MainActivity.java
android/Pictogram/app/src/main/java/com/yottacode/pictogram/gui/PictogramActivity.java
android/Pictogram/app/src/main/java/com/yottacode/pictogram/gui/SerialActivity.java
android/Pictogram/app/src/main/java/com/yottacode/pictogram/net/NetService.java
android/Pictogram/app/src/main/java/com/yottacode/pictogram/tools/Img.java
android/Pictogram/app/src/main/res/raw/pcbdb_create.sql
android/Pictogram/app/src/fernandoFlavor/java/com/yottacode/pictogrammar/Translate.java
View file @
dc3761c6
...
...
@@ -48,6 +48,41 @@ public class Translate extends Activity implements iVocabularyListener, iImgDown
// String constan for token
private
final
String
TOKEN
=
"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJvZmZpY2UiOnsiaWQiOjM4MywibmFtZSI6IkNvbXVuaWNhY2nDs24gQXVtZW50YXRpdmEgSkHDqW4gKENBSkEpIiwiYWRkcmVzcyI6IlBhcmFqZSBMYXMgTGFndW5pbGxhcywgRWQgQTMsIHByaW1lcmEgcGxhdGEsIDIzMDcxLiBKYcOpbiIsImVtYWlsIjoiZG9mZXJAdWphZW4uZXMiLCJwaG9uZTEiOiIrMzQgOTUzIDIxIDI4IDg4IiwicGhvbmUyIjpudWxsLCJsYW5nIjoiZXMtZXMiLCJjb3VudHJ5IjoiRVMiLCJhZG1pbiI6MjMsImNvbnRhY3RQZXJzb24iOiJGZXJuYW5kbyBNYXJ0w61uZXogU2FudGlhZ28iLCJtYXhTdHVkZW50cyI6MiwiY3VycmVudFN0dWRlbnRzIjowfSwiaWQiOjIzLCJuYW1lIjoiRmVybmFuZG8iLCJzdXJuYW1lIjoiTWFydMOtbmV6IFNhbnRpYWdvIiwiZ2VuZGVyIjoiTSIsInBpYyI6Imh0dHA6Ly93d3dkaS51amFlbi5lcy9zaXRlcy9kZWZhdWx0L2ZpbGVzL3lvLmpwZz8xNDQ4MDE5MzU2IiwiYWRkcmVzcyI6bnVsbCwiY291bnRyeSI6bnVsbCwiZW1haWwiOiJkb2ZlckB1amFlbi5lcyIsInBob25lIjoiKzM0OTUzMjEyODg4IiwibGFuZyI6ImVzLWVzIiwiYWN0aXZlIjp0cnVlLCJ0dHNFbmdpbmUiOm51bGwsImlzU3VwQWRtaW4iOnRydWUsImlhdCI6MTQ1Mjg4NjE1NSwiZXhwIjoxNDUyODkzMzU1fQ.dmxKE4qH1DqBM7BYakgwD0L6y1437_2Ba3T7rHnOIcE"
;
private
login
()
{
if
(
RestapiWrapper
.
ping
(
context
.
getResources
().
getString
(
R
.
string
.
server
),
"server/ping"
,
null
))
{
// Tengo conexión a internet. Compruebo ONLINE
RestapiWrapper
wrapper
=
PCBcontext
.
getRestapiWrapper
();
if
(
username
.
contains
(
"@"
)){
// Es un supervisor
String
operation
=
"sup/login"
;
Hashtable
<
String
,
String
>
postDataParams
=
new
Hashtable
<
String
,
String
>();
postDataParams
.
put
(
"email"
,
username
);
postDataParams
.
put
(
"password"
,
password
);
wrapper
.
ask
(
operation
,
postDataParams
,
"post"
,
(
iRestapiListener
)
context
);
}
else
{
// Es un estudiante
String
operation
=
"stu/login"
;
Hashtable
<
String
,
String
>
postDataParams
=
new
Hashtable
<
String
,
String
>();
postDataParams
.
put
(
"username"
,
username
);
postDataParams
.
put
(
"password"
,
password
);
wrapper
.
ask
(
operation
,
postDataParams
,
"post"
,
(
iRestapiListener
)
context
);
}
}
else
{
// NO Tengo conexión a internet. Compruebo OFFLINE
if
(
username
.
contains
(
"@"
))
{
// Es un supervisor
// Necesito una función local que dado el username y pass me devuelva el listado de usuarios o el usuario, si es correcto
// ....
}
else
{
// Es un estudiante
}
// ....
}
}
/** Called when the activity is first created. */
@Override
public
void
onCreate
(
Bundle
savedInstanceState
)
...
...
android/Pictogram/app/src/main/java/com/yottacode/net/RestapiWrapper.java
View file @
dc3761c6
...
...
@@ -107,10 +107,9 @@ public class RestapiWrapper {
/**
* synchronous ping
* @param ping_op
* @param error_listener
* @return
*/
public
static
boolean
ping
(
String
server
,
String
ping_op
,
iRestapiListener
error_listener
)
{
public
static
boolean
ping
(
String
server
,
String
ping_op
)
{
StrictMode
.
ThreadPolicy
policy
=
new
StrictMode
.
ThreadPolicy
.
Builder
().
permitAll
().
build
();
StrictMode
.
setThreadPolicy
(
policy
);
boolean
pingResult
=
false
;
...
...
@@ -118,7 +117,7 @@ public class RestapiWrapper {
pingResult
=
GET
(
server
+
"/"
+
ping_op
,
null
)!=
null
;
}
catch
(
UnknownHostException
e
){
//e.printStackTrace();
Log
.
e
(
RestapiWrapper
.
class
.
getName
(),
"ping failed at"
+
ping_op
);
Log
.
e
(
RestapiWrapper
.
class
.
getName
(),
"ping failed at
"
+
ping_op
);
return
false
;
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
...
...
android/Pictogram/app/src/main/java/com/yottacode/pictogram/dao/Picto.java
View file @
dc3761c6
...
...
@@ -11,6 +11,8 @@ import com.yottacode.pictogram.tools.PCBcontext;
import
org.json.JSONException
;
import
org.json.JSONObject
;
import
java.io.Serializable
;
/**
* A object which represents a pictogram
* *
...
...
android/Pictogram/app/src/main/java/com/yottacode/pictogram/gui/LoginActivity.java
View file @
dc3761c6
...
...
@@ -48,6 +48,8 @@ public class LoginActivity extends FragmentActivity implements iRestapiListener{
private
static
final
String
TAG_ATTRIBUTES
=
"attributes"
;
private
static
final
String
TAG_SUPERVISION
=
"supervision"
;
private
int
sup_id
;
// String constant for logs
...
...
@@ -108,7 +110,7 @@ public class LoginActivity extends FragmentActivity implements iRestapiListener{
// Compruebo si tengo acceso a internet y al servicio web
if
(!
RestapiWrapper
.
ping
(
getResources
().
getString
(
R
.
string
.
server
),
"server/ping"
,
this
))
{
if
(!
RestapiWrapper
.
ping
(
getResources
().
getString
(
R
.
string
.
server
),
"server/ping"
))
{
// MODO OFFLINE
try
{
Log
.
d
(
LOG_TAG
,
"username utilizado:"
+
username
);
...
...
android/Pictogram/app/src/main/java/com/yottacode/pictogram/gui/MainActivity.java
View file @
dc3761c6
...
...
@@ -14,6 +14,7 @@ import android.widget.Toast;
import
com.yottacode.pictogram.R
;
import
com.yottacode.pictogram.dao.Device
;
import
com.yottacode.pictogram.dao.LoginException
;
import
com.yottacode.pictogram.dao.PCBDBHelper
;
import
com.yottacode.pictogram.dao.User
;
import
com.yottacode.pictogram.tools.PCBcontext
;
...
...
@@ -43,7 +44,6 @@ public class MainActivity extends Activity {
PCBcontext
.
init
(
this
);
Log
.
d
(
LOG_TAG
,
"PCBcontext iniciado."
);
// Nota magc: al pasar ya siempre por serial no tiene sentido tener main ¿no?
Intent
serialActivity
=
new
Intent
(
this
,
SerialActivity
.
class
);
serialActivity
.
putExtra
(
"activity_name"
,
"MainActivity"
);
...
...
android/Pictogram/app/src/main/java/com/yottacode/pictogram/gui/PictogramActivity.java
View file @
dc3761c6
...
...
@@ -3,6 +3,7 @@ package com.yottacode.pictogram.gui;
import
android.app.Activity
;
import
android.app.AlertDialog
;
import
android.app.ProgressDialog
;
import
android.database.Cursor
;
import
android.graphics.Color
;
import
android.graphics.Point
;
...
...
@@ -49,6 +50,8 @@ import com.yottacode.pictogram.net.PictoUploader;
import
com.yottacode.pictogram.net.iImgDownloaderListener
;
import
com.yottacode.pictogram.tools.Img
;
import
com.yottacode.pictogram.tools.PCBcontext
;
import
org.json.JSONException
;
import
org.json.JSONObject
;
import
java.io.IOException
;
...
...
@@ -57,6 +60,7 @@ import java.util.Arrays;
import
java.util.LinkedList
;
import
java.util.List
;
import
java.util.Locale
;
import
java.util.Vector
;
import
android.provider.Settings.Secure
;
...
...
@@ -81,18 +85,6 @@ public class PictogramActivity extends Activity implements iVocabularyListener,
private
int
count_deletelong
=
0
;
private
boolean
isSupervisor
=
false
;
private
String
selectedImagePath
;
/*
float xAxis = 0f;
float yAxis = 0f;
float lastXAxis = 0f;
float lastYAxis = 0f;
*/
@Override
protected
void
onCreate
(
Bundle
savedInstanceState
)
{
...
...
@@ -101,32 +93,12 @@ public class PictogramActivity extends Activity implements iVocabularyListener,
setContentView
(
R
.
layout
.
activity_pictogram
);
Intent
intent
=
getIntent
();
isSupervisor
=
intent
.
getBooleanExtra
(
"isSupervisor"
,
false
);
//isSupervisor = true;// QUITAR
//Log.d(LOG_TAG, "isSupervisor vale " + isSupervisor);
currentCategory
=
null
;
// this for refresh vocabulary when a websocket action arrived from the dashboard
count_deletelong
=
0
;
// Singleton getInstance
//pcb = PCBcontext.getInstance();
//FERNANDO he comentado esta llamada a PCBcontext.init ¿es realmente necesaria? ¿dónde está la llamada a set_user ---> token queda a nulo!!!
//Log.d(LOG_TAG, "1) Opening PCB");
//SSLDummyContext.init(getResources().getBoolean(R.bool.ssl_connect));
//PCBcontext.init(this);
//Log.d(LOG_TAG, "PCBcontext iniciado");
// Redundante, pero lo hago para forzarlo
/*
student = PCBcontext.getPcbdb().getCurrentUser();
String jsonToken = PCBcontext.getRestapiWrapper().getToken();
Log.d(LOG_TAG, "student name:" + student.get_name_stu());
PCBcontext.set_user(student,jsonToken, this);
*/
// Adapter for grid
panelAdapter
=
new
PanelAdapter
(
new
LinkedList
<
Picto
>());
...
...
@@ -300,7 +272,7 @@ public class PictogramActivity extends Activity implements iVocabularyListener,
panelGridView
.
setOnItemLongClickListener
(
new
AdapterView
.
OnItemLongClickListener
()
{
@Override
public
boolean
onItemLongClick
(
AdapterView
<?>
parent
,
View
view
,
int
position
,
long
id
)
{
if
(
isSupervisor
)
{
if
(
PCBcontext
.
getPcbdb
().
getCurrentUser
().
is_supervisor
()
)
{
// Si es supervisor al hacer longClick deshabilito ese pictograma o lo habilito
Picto
p
=
panelAdapter
.
getItem
(
position
);
if
(
p
==
null
)
{
...
...
android/Pictogram/app/src/main/java/com/yottacode/pictogram/gui/SerialActivity.java
View file @
dc3761c6
This diff is collapsed.
Click to expand it.
android/Pictogram/app/src/main/java/com/yottacode/pictogram/net/NetService.java
View file @
dc3761c6
...
...
@@ -33,27 +33,7 @@ public class NetService implements Runnable {
static
final
String
ping_session
=
"server/ping"
;
private
boolean
updated
;
public
NetService
(
int
delay
)
{
this
.
updated
=
RestapiWrapper
.
ping
(
PCBcontext
.
getContext
().
getResources
().
getString
(
R
.
string
.
server
),
ping_session
,
new
iRestapiListener
()
{
@Override
public
void
preExecute
()
{
}
@Override
public
void
result
(
JSONArray
result
)
{
}
@Override
public
void
result
(
JSONObject
result
)
{
updated
=
true
;
}
@Override
public
void
error
(
Exception
e
)
{
updated
=
false
;
}
});
this
.
updated
=
RestapiWrapper
.
ping
(
PCBcontext
.
getContext
().
getResources
().
getString
(
R
.
string
.
server
),
ping_session
);
Log
.
i
(
this
.
getClass
().
getName
(),
"Checking Pictogram server access..."
);
Log
.
i
(
this
.
getClass
().
getName
(),
this
.
updated
?
"Pictogram server access ok"
:
"Pictogram server access failed, Internet connection available?"
);
ScheduledThreadPoolExecutor
exec
=
new
ScheduledThreadPoolExecutor
(
1
);
...
...
android/Pictogram/app/src/main/java/com/yottacode/pictogram/tools/Img.java
View file @
dc3761c6
...
...
@@ -13,6 +13,7 @@ import java.io.FileNotFoundException;
import
java.io.FileOutputStream
;
import
java.io.IOException
;
import
java.io.InputStream
;
import
java.io.Serializable
;
import
com.yottacode.tools.FileTools
;
import
com.yottacode.tools.ImgTools
;
...
...
android/Pictogram/app/src/main/res/raw/pcbdb_create.sql
View file @
dc3761c6
...
...
@@ -80,10 +80,29 @@ type TEXT(5) NOT NULL CHECK (type in ('stu','sup','pic'))
;
--
CREATE
VIEW
users_detail
AS
SELECT
id_stu
,
a
.
nickname
nickname_stu
,
a
.
pwd
pwd_stu
,
a
.
name
name_stu
,
a
.
surname
surname_stu
,
a
.
url_img
url_img_stu
,
a
.
gender
gender_stu
,
a
.
lang
lang_stu
,
a
.
attributes
attributes_stu
,
id_sup
,
b
.
email
email_sup
,
b
.
pwd
pwd_sup
,
b
.
name
name_sup
,
b
.
surname
surname_sup
,
b
.
url_img
url_img_sup
,
b
.
gender
gender_sup
,
b
.
lang
lang_sup
,
b
.
tts_engine
tts_engine_sup
FROM
student
a
,
supervisor
b
,
users
WHERE
a
.
id
=
users
.
id_stu
AND
b
.
id
=
users
.
id_sup
SELECT
id_stu
,
a
.
nickname
nickname_stu
,
a
.
pwd
pwd_stu
,
a
.
name
name_stu
,
a
.
surname
surname_stu
,
a
.
url_img
url_img_stu
,
a
.
gender
gender_stu
,
a
.
lang
lang_stu
,
a
.
attributes
attributes_stu
,
id_sup
,
b
.
email
email_sup
,
b
.
pwd
pwd_sup
,
b
.
name
name_sup
,
b
.
surname
surname_sup
,
b
.
url_img
url_img_sup
,
b
.
gender
gender_sup
,
b
.
lang
lang_sup
,
b
.
tts_engine
tts_engine_sup
FROM
student
a
,
supervisor
b
,
users
WHERE
a
.
id
=
users
.
id_stu
AND
b
.
id
=
users
.
id_sup
;
--
CREATE
VIEW
collection_detail
AS
...
...
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