Commit 7c78dce0 by Fernando Martínez Santiago

Merge branch 'develop' of http://scm.ujaen.es/softuno/pictogram into develop

# Conflicts:
#	android/Pictogram/tabletlibrary/src/main/java/com/yottacode/pictogram/tabletlibrary/gui/SerialActivity.java
parents bf9a9ff0 b7139260
package com.yottacode.pictogram.tabletlibrary.gui;
import android.app.Activity;
import android.graphics.Bitmap;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.TextView;
import com.yottacode.pictogram.tabletlibrary.R;
import java.util.Vector;
/**
* Created by german on 20/12/2016.
*/
public class CustomListLogin extends ArrayAdapter<String>{
private final Activity context;
private final String[] name;
private final String[] surname;
private final String[] password;
private final Vector<Bitmap> photos;
public CustomListLogin(Activity context, String []name, String []surname, String []password, Vector<Bitmap> photos) {
super(context,R.layout.user_login_item, name);
this.context = context;
this.name = name;
this.surname = surname;
this.password = password;
this.photos = photos;
}
@Override
public int getCount() {
if(name.length>0)
return name.length;
return 0;
}
@Override
public View getView(int position, View view, ViewGroup parent) {
LayoutInflater inflater = context.getLayoutInflater();
View rowView= inflater.inflate(R.layout.user_login_item, null, true);
TextView txtName = (TextView) rowView.findViewById(R.id.label_name);
txtName.setText(name[position]);
TextView txtSurname = (TextView) rowView.findViewById(R.id.label_surname);
txtSurname.setText(surname[position]);
ImageView imageView = (ImageView) rowView.findViewById(R.id.photo);
//imageView.setImageResource(R.drawable.user);
if (photos.size()>0) imageView.setImageBitmap(photos.elementAt(position));
else imageView.setImageResource(R.drawable.anonymous_student);
return rowView;
}
}
package com.yottacode.pictogram.tabletlibrary.gui;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.Window;
import android.view.WindowManager;
import android.view.inputmethod.InputMethodManager;
import android.widget.Button;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.ListView;
import com.yottacode.pictogram.dao.User;
import com.yottacode.pictogram.dao.UserLogin;
import com.yottacode.pictogram.tabletlibrary.R;
import com.yottacode.pictogram.tabletlibrary.net.NetServiceTablet;
import com.yottacode.pictogram.tools.Img;
import com.yottacode.pictogram.tools.PCBcontext;
import org.json.JSONException;
import java.io.IOException;
import java.util.Vector;
/**
* A login screen that offers login via email/password.
......@@ -28,6 +40,8 @@ public class SerialActivity extends Activity {
private final String LOG_TAG = this.getClass().getSimpleName(); // Or .getCanonicalName()
protected boolean is_legal_user(String user_name, Activity activity) {return true;}
LinearLayout stuList;
LinearLayout supList;
/**
* Return the default user+pwd when login.The policy is
......@@ -47,6 +61,85 @@ public class SerialActivity extends Activity {
}
return new String[]{username,password};
}
private void createListSup(){
Vector<User> users = new Vector<>();
Vector<User> supUsers = new Vector<>();
try {
users = PCBcontext.getDevice().getUsers();
} catch (JSONException e) {
e.printStackTrace();
}
//Rellenar la lista con solo usuarios supervisor
if(!users.isEmpty()){
for(User user: users){
if(user.is_supervisor()){
supUsers.add(user);
}
}
}
if(!supUsers.isEmpty()){
String []nameSup = new String[supUsers.size()];
String []surnameSup = new String[supUsers.size()];
String []passwSup = new String[supUsers.size()];
Vector<Bitmap> photoSup = new Vector<>(supUsers.size());
for(int i=0;i<supUsers.size();i++){
nameSup[i]=users.elementAt(i).get_name_sup();
surnameSup[i]=users.elementAt(i).get_surname_sup();
passwSup[i]=users.elementAt(i).get_pwd_sup();
try {
photoSup.add(users.elementAt(i).get_bitmap_sup(this.getBaseContext()));
} catch (IOException e) {
e.printStackTrace();
}
}
CustomListLogin adapterSup = new CustomListLogin(this,nameSup,surnameSup,passwSup,photoSup);
ListView listaSup = (ListView) findViewById(R.id.supList);
listaSup.setAdapter(adapterSup);
}
}
private void createListStu(){
Vector<User> users = new Vector<>();
Vector<User> stuUsers = new Vector<>();
try {
users = PCBcontext.getDevice().getUsers();
} catch (JSONException e) {
e.printStackTrace();
}
//Rellenar la lista con solo usuarios supervisor
if(!users.isEmpty()){
for(User user: users){
if(!user.is_supervisor()){
stuUsers.add(user);
}
}
}
if(!stuUsers.isEmpty()){
String []nameStu = new String[stuUsers.size()];
String []surnameStu = new String[stuUsers.size()];
String []passwStu = new String[stuUsers.size()];
Vector<Bitmap> photoStu = new Vector<>(stuUsers.size());
for(int i=0;i<stuUsers.size();i++){
nameStu[i]=users.elementAt(i).get_name_stu();
surnameStu[i]=users.elementAt(i).get_surname_stu();
passwStu[i]=users.elementAt(i).get_pwd_stu();
try {
photoStu.add(users.elementAt(i).get_bitmap_stu(this.getBaseContext()));
} catch (IOException e) {
e.printStackTrace();
}
}
CustomListLogin adapterStu = new CustomListLogin(this,nameStu,surnameStu,passwStu,photoStu);
ListView listaStu = (ListView) findViewById(R.id.stuList);
listaStu.setAdapter(adapterStu);
}
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
......@@ -64,34 +157,60 @@ public class SerialActivity extends Activity {
String username=default_user[0];
String password=default_user[1];
final InputMethodManager imm = (InputMethodManager) this
.getSystemService(Context.INPUT_METHOD_SERVICE);
// Escribo el último valor indicado de username
mSerialViewMail.setText(username);
mSerialViewPass.setText(password);
final LinearLayout stuList = (LinearLayout) findViewById(R.id.stuLay);
final LinearLayout supList = (LinearLayout) findViewById(R.id.supLay);
stuList = (LinearLayout) findViewById(R.id.stuLay);
supList = (LinearLayout) findViewById(R.id.supLay);
mSerialViewMail.setOnFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View view,boolean hasFocus) {
if(hasFocus){
stuList.setVisibility(View.INVISIBLE);
supList.setVisibility(View.INVISIBLE);
if(imm.isActive(view)) {
Log.i("Keyboard","Activo");
stuList.setVisibility(View.INVISIBLE);
supList.setVisibility(View.INVISIBLE);
}else{
Log.i("Keyboard","Inactivo");
stuList.setVisibility(View.VISIBLE);
supList.setVisibility(View.VISIBLE);
}
}
}
});
mSerialViewMail.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
stuList.setVisibility(View.INVISIBLE);
supList.setVisibility(View.INVISIBLE);
}
});
mSerialViewPass.setOnFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View view,boolean hasFocus) {
if(hasFocus){
stuList.setVisibility(View.INVISIBLE);
supList.setVisibility(View.INVISIBLE);
if(hasFocus) {
if (imm.isActive(view)) {
Log.i("Keyboard", "Activo");
stuList.setVisibility(View.INVISIBLE);
supList.setVisibility(View.INVISIBLE);
} else {
Log.i("Keyboard", "Inactivo");
stuList.setVisibility(View.VISIBLE);
supList.setVisibility(View.VISIBLE);
}
}
}
});
createListSup();
createListStu();
// Escribo el último valor indicado de username
mSerialViewMail.setText(username);
......
......@@ -21,6 +21,20 @@
android:layout_toEndOf="@+id/serialmail" />
<EditText
android:id="@+id/serialmail"
android:layout_width="400px"
android:layout_height="wrap_content"
android:hint="@string/prompt_serial_mail"
android:imeActionId="@+id/login"
android:imeOptions="actionUnspecified"
android:inputType="text"
android:maxLines="1"
android:layout_marginStart="145dp"
android:selectAllOnFocus="false"
android:layout_alignParentTop="true"
android:layout_alignStart="@+id/stuLay" />
<EditText
android:id="@+id/serialpass"
android:layout_width="400px"
android:layout_height="wrap_content"
......@@ -30,9 +44,10 @@
android:imeOptions="actionUnspecified"
android:inputType="textPassword"
android:maxLines="1"
android:singleLine="true"
android:layout_below="@+id/serialmail"
android:layout_toStartOf="@+id/imageView" />
android:layout_toStartOf="@+id/imageView"
android:selectAllOnFocus="false"
android:singleLine="false" />
<Button
android:id="@+id/entrar_button" style="?android:textAppearanceSmall"
......@@ -52,70 +67,61 @@
android:layout_alignParentEnd="true"
android:layout_marginEnd="18dp" />
<EditText
android:id="@+id/serialmail"
android:layout_width="400px"
android:layout_height="wrap_content"
android:hint="@string/prompt_serial_mail"
android:imeActionId="@+id/login"
android:imeOptions="actionUnspecified"
android:inputType="text"
android:maxLines="1"
android:layout_marginStart="212dp"
android:layout_alignParentTop="true"
android:layout_alignParentStart="true" />
<LinearLayout
android:orientation="vertical"
android:background="@color/blue"
android:layout_height="350px"
android:layout_marginStart="67dp"
android:background="@color/common_plus_signin_btn_text_dark_pressed"
android:layout_width="400px"
android:layout_alignParentBottom="true"
android:layout_alignStart="@+id/entrar_button"
android:layout_marginStart="270dp"
android:id="@+id/supLay">
android:layout_alignParentStart="true"
android:id="@+id/stuLay">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/labelSup"
tools:text="Supervisores"
android:text="@string/supervisores"
android:textAppearance="@style/TextAppearance.AppCompat"
android:id="@+id/labelStu"
tools:text="Alumnos"
android:text="@string/alumnos"
android:textAlignment="center"
android:textSize="18sp" />
android:textSize="18sp"
android:textColor="@android:color/black"
android:background="@color/common_plus_signin_btn_text_light_disabled" />
<ListView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/supList" />
android:id="@+id/stuList"
android:divider="@color/common_google_signin_btn_text_dark_disabled"/>
</LinearLayout>
<LinearLayout
android:orientation="vertical"
android:background="@color/common_google_signin_btn_text_dark_default"
android:layout_height="350px"
android:layout_marginStart="67dp"
android:background="@color/darkred"
android:layout_width="400px"
android:layout_alignParentBottom="true"
android:layout_alignParentStart="true"
android:id="@+id/stuLay">
android:layout_alignStart="@+id/entrar_button"
android:layout_marginStart="270dp"
android:id="@+id/supLay">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/labelStu"
tools:text="Alumnos"
android:text="@string/alumnos"
android:textAppearance="@style/TextAppearance.AppCompat"
android:id="@+id/labelSup"
tools:text="Supervisores"
android:text="@string/supervisores"
android:textAlignment="center"
android:textSize="18sp" />
android:textSize="18sp"
android:textColor="@android:color/black"
android:background="@color/common_plus_signin_btn_text_light_disabled" />
<ListView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/stuList" />
android:id="@+id/supList"
android:divider="@color/common_google_signin_btn_text_dark_disabled"/>
</LinearLayout>
</RelativeLayout>
......
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/common_plus_signin_btn_text_dark_disabled">
<TextView
android:text="Nombre"
android:layout_height="wrap_content"
android:id="@+id/label_name"
android:layout_weight="0.15"
android:textSize="18sp"
android:textColor="@android:color/black"
android:layout_alignTop="@+id/photo"
android:layout_toEndOf="@+id/photo"
android:layout_width="250dp"
android:layout_marginStart="15dp" />
<TextView
android:text="Apellidos"
android:layout_width="250dp"
android:layout_height="wrap_content"
android:id="@+id/label_surname"
android:textSize="18sp"
android:textAlignment="textStart"
android:textColor="@android:color/black"
android:layout_alignBottom="@+id/photo"
android:layout_toEndOf="@+id/photo"
android:layout_marginStart="15dp" />
<ImageView
app:srcCompat="@drawable/anonymous_student"
android:id="@+id/photo"
android:layout_weight="0.15"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_alignParentTop="true"
android:layout_alignParentStart="true" />
</RelativeLayout>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment