working on PCB sessions 2

parent 5413736a
...@@ -39,6 +39,7 @@ public class Vocabulary implements Iterable<Picto> { ...@@ -39,6 +39,7 @@ public class Vocabulary implements Iterable<Picto> {
Hashtable<Integer,LinkedList<Picto>> pictos; Hashtable<Integer,LinkedList<Picto>> pictos;
static int DEFAULT_VOCABULARY_SIZE=200; static int DEFAULT_VOCABULARY_SIZE=200;
ImgDownloader.iImgDownloaderListener imgListener; ImgDownloader.iImgDownloaderListener imgListener;
private ActionTalk actionTalk;
/** /**
...@@ -100,10 +101,16 @@ public class Vocabulary implements Iterable<Picto> { ...@@ -100,10 +101,16 @@ public class Vocabulary implements Iterable<Picto> {
} }
},listener}; },listener};
new VocabularyTalk(room, vocabulary_listeners); new VocabularyTalk(room, vocabulary_listeners);
new ActionTalk(room, new ActionTalk.iActionListener[] {action_listener}); addActionTalkListener(action_listener);
} }
public void addActionTalkListener(ActionTalk.iActionListener listener) {
if (actionTalk==null) actionTalk=new ActionTalk(PCBcontext.getRoom(), listener);
else actionTalk.addListener(listener);
}
public void removeActionTalkListener(ActionTalk.iActionListener listener) {
actionTalk.removeListener(listener);
}
/** /**
* UPload local status modifications and new pictos. Note that when * UPload local status modifications and new pictos. Note that when
* a picto is uploaded is not required to delete from the local PCB * a picto is uploaded is not required to delete from the local PCB
......
...@@ -9,6 +9,8 @@ import com.yottacode.pictogram.tools.PCBcontext; ...@@ -9,6 +9,8 @@ import com.yottacode.pictogram.tools.PCBcontext;
import org.json.JSONException; import org.json.JSONException;
import org.json.JSONObject; import org.json.JSONObject;
import java.util.Vector;
/** /**
* Websocket Vocabulary Room based on Room * Websocket Vocabulary Room based on Room
* @author Fernando Martinez Santiago * @author Fernando Martinez Santiago
...@@ -19,12 +21,13 @@ public class ActionTalk implements Emitter.Listener { ...@@ -19,12 +21,13 @@ public class ActionTalk implements Emitter.Listener {
private static final String URL ="action"; private static final String URL ="action";
private Room room; private Room room;
iActionListener listeners[]; Vector<iActionListener> listeners;
public ActionTalk(Room room, iActionListener listeners[]) { public ActionTalk(Room room, iActionListener listener) {
this.room = room; this.room = room;
this.room.listen(URL, this); this.room.listen(URL, this);
this.listeners=listeners; this.listeners=new Vector<>(2);
listeners.add(listener);
} }
@Override @Override
...@@ -63,6 +66,14 @@ public class ActionTalk implements Emitter.Listener { ...@@ -63,6 +66,14 @@ public class ActionTalk implements Emitter.Listener {
} }
public void addListener(iActionListener listener) {
listeners.add(listener);
}
public void removeListener(iActionListener removedlistener) {
for (iActionListener listener:this.listeners )
if (listener==removedlistener) listeners.remove(removedlistener);
}
/** /**
* Vocabulary Listener * Vocabulary Listener
* @author Fernando Martinez Santiago * @author Fernando Martinez Santiago
......
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center_horizontal"
android:orientation="vertical"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".gui.Supervisor_SerialActivity">
<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:singleLine="true"
android:layout_alignParentTop="true" />
<EditText
android:id="@+id/serialpass"
android:layout_width="400px"
android:layout_height="wrap_content"
android:hint="@string/prompt_serial_pass"
android:imeActionId="@+id/login"
android:imeActionLabel="@string/action_entrar"
android:imeOptions="actionUnspecified"
android:inputType="textPassword"
android:maxLines="1"
android:singleLine="true"
android:layout_below="@+id/serialmail"
/>
<Button
android:id="@+id/entrar_button" style="?android:textAppearanceSmall"
android:layout_width="400px"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:text="@string/action_entrar"
android:textStyle="bold"
android:layout_below="@+id/serialpass"/>
<ImageView
android:layout_width="200px"
android:layout_height="120px"
android:layout_marginLeft="30px"
android:orientation="horizontal"
android:src="@drawable/pictogram_logo"
android:id="@+id/imageView"
android:layout_alignParentTop="true"
android:layout_toEndOf="@+id/serialmail"
/>
<TextView
android:text="SUPERVISOR"
android:textStyle="bold"
android:textColor="@color/green"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:id="@+id/text_supervisor"
android:layout_below="@+id/imageView"
android:layout_toEndOf="@+id/serialmail"
android:layout_marginLeft="60px"
/>
</RelativeLayout>
...@@ -43,6 +43,13 @@ ...@@ -43,6 +43,13 @@
<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" />
...@@ -51,13 +58,6 @@ ...@@ -51,13 +58,6 @@
<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" />
...@@ -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" />
......
...@@ -3,7 +3,6 @@ package com.yottacode.pictogram.tabletlibrary.gui; ...@@ -3,7 +3,6 @@ package com.yottacode.pictogram.tabletlibrary.gui;
import android.app.Activity; import android.app.Activity;
import android.content.Intent; import android.content.Intent;
import android.content.SharedPreferences; import android.content.SharedPreferences;
import android.content.res.Configuration;
import android.os.Bundle; import android.os.Bundle;
import android.view.View; import android.view.View;
import android.view.View.OnClickListener; import android.view.View.OnClickListener;
......
...@@ -32,8 +32,8 @@ import org.json.JSONObject; ...@@ -32,8 +32,8 @@ import org.json.JSONObject;
public class ListInstructionsFragment extends Fragment{ public class ListInstructionsFragment extends Fragment{
interface iListInstructionsFragment { interface iListInstructionsFragment {
void method_selected(int method); void instruction_selected(int instruction, String instruction_name);
void instruction_selected(int instruction); void method_selected(int method, String method_name);
} }
ProgressDialog progressDialog; ProgressDialog progressDialog;
JSONArray methods=null; JSONArray methods=null;
...@@ -69,12 +69,11 @@ public class ListInstructionsFragment extends Fragment{ ...@@ -69,12 +69,11 @@ public class ListInstructionsFragment extends Fragment{
} }
} }
private void setMethods() { private void setMethods() {
if (this.methods == null) { if (this.methods == null || methods.length()==0) {
new SessionWrapper(new SessionWrapper.iSessionWrapper() { new SessionWrapper(new SessionWrapper.iSessionWrapper() {
@Override @Override
public void methods(JSONArray methods) { public void methods(JSONArray methods) {
if (methods.length()==0) { if (methods.length()==0) {
methods=null;
GUITools.show_alert(ListInstructionsFragment.this.getContext(), R.string.session_empty, getString(R.string.server), new GUITools.iOKListener() { GUITools.show_alert(ListInstructionsFragment.this.getContext(), R.string.session_empty, getString(R.string.server), new GUITools.iOKListener() {
@Override @Override
public void ok() { public void ok() {
...@@ -129,7 +128,7 @@ public class ListInstructionsFragment extends Fragment{ ...@@ -129,7 +128,7 @@ public class ListInstructionsFragment extends Fragment{
ListInstructionsFragment.this.instructionPosition = -1; ListInstructionsFragment.this.instructionPosition = -1;
adapter.notifyDataSetChanged(); adapter.notifyDataSetChanged();
listener.method_selected(methodPosition); listener.method_selected(methodPosition,(String)listview_methods.getAdapter().getItem(methodPosition));
((ArrayAdapter<String>) listview_methods.getAdapter()).notifyDataSetChanged(); ((ArrayAdapter<String>) listview_methods.getAdapter()).notifyDataSetChanged();
} }
}); });
...@@ -155,7 +154,7 @@ public class ListInstructionsFragment extends Fragment{ ...@@ -155,7 +154,7 @@ public class ListInstructionsFragment extends Fragment{
public void onItemClick(AdapterView<?> arg0, View arg1, int pos, long arg3) { public void onItemClick(AdapterView<?> arg0, View arg1, int pos, long arg3) {
ListInstructionsFragment.this.instructionPosition = pos; ListInstructionsFragment.this.instructionPosition = pos;
((ArrayAdapter<String>) listview_instructions.getAdapter()).notifyDataSetChanged(); ((ArrayAdapter<String>) listview_instructions.getAdapter()).notifyDataSetChanged();
listener.instruction_selected(instructionPosition); listener.instruction_selected(instructionPosition,(String)listview_instructions.getAdapter().getItem(instructionPosition));
} }
}); });
......
...@@ -24,8 +24,11 @@ import com.yottacode.pictogram.tools.PCBcontext; ...@@ -24,8 +24,11 @@ import com.yottacode.pictogram.tools.PCBcontext;
import java.io.IOException; import java.io.IOException;
public class SessionActivity extends FragmentActivity implements ListInstructionsFragment.iListInstructionsFragment, SessionFragment.OnFragmentInteractionListener{ public class SessionActivity extends FragmentActivity implements ListInstructionsFragment.iListInstructionsFragment, SessionFragment.OnFragmentInteractionListener{
SessionFragment sessionFragment = new SessionFragment();
ListInstructionsFragment listInstructionsFragment= new ListInstructionsFragment();
private static final String FRAGMENT_SESSION="session";
private static final String FRAGMENT_METHOD="method";
class TouchButtonListener implements View.OnTouchListener { class TouchButtonListener implements View.OnTouchListener {
int press,release; int press,release;
...@@ -45,6 +48,10 @@ public class SessionActivity extends FragmentActivity implements ListInstruction ...@@ -45,6 +48,10 @@ public class SessionActivity extends FragmentActivity implements ListInstruction
return true; return true;
} }
} }
SessionFragment sessionFragment = new SessionFragment();
ListInstructionsFragment listInstructionsFragment= new ListInstructionsFragment();
boolean previous_mirrormode=PCBcontext.getPcbdb().getCurrentUser().is_mirror_on();
@Override @Override
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
...@@ -71,48 +78,52 @@ public class SessionActivity extends FragmentActivity implements ListInstruction ...@@ -71,48 +78,52 @@ public class SessionActivity extends FragmentActivity implements ListInstruction
final Button spoBtn =((Button)findViewById(R.id.btn_spontaneous)); final Button spoBtn =((Button)findViewById(R.id.btn_spontaneous));
final Button failBtn =((Button)findViewById(R.id.btn_fail)); final Button failBtn =((Button)findViewById(R.id.btn_fail));
final Button supBtn =((Button)findViewById(R.id.btn_supervised)); final Button supBtn =((Button)findViewById(R.id.btn_supervised));
StudentFullNameView.setText(student.get_name_stu() + " " + student.get_surname_stu());
StudentUserNameView.setText(student.get_nickname_stu());
okBtn.setOnTouchListener(new TouchButtonListener(R.drawable.session_ok,R.drawable.session_ok2)); okBtn.setOnTouchListener(new TouchButtonListener(R.drawable.session_ok,R.drawable.session_ok2));
disBtn.setOnTouchListener(new TouchButtonListener(R.drawable.session_fail,R.drawable.session_fail2)); disBtn.setOnTouchListener(new TouchButtonListener(R.drawable.session_fail,R.drawable.session_fail2));
spoBtn.setOnTouchListener(new TouchButtonListener(R.drawable.session_spontaneous,R.drawable.session_spontaneous2)); spoBtn.setOnTouchListener(new TouchButtonListener(R.drawable.session_spontaneous,R.drawable.session_spontaneous2));
failBtn.setOnTouchListener(new TouchButtonListener(R.drawable.session_fail,R.drawable.session_fail2)); failBtn.setOnTouchListener(new TouchButtonListener(R.drawable.session_fail,R.drawable.session_fail2));
supBtn.setOnTouchListener(new TouchButtonListener(R.drawable.session_supervised,R.drawable.session_supervised2)); supBtn.setOnTouchListener(new TouchButtonListener(R.drawable.session_supervised,R.drawable.session_supervised2));
StudentFullNameView.setText(student.get_name_stu()+" "+student.get_surname_stu());
StudentUserNameView.setText(student.get_nickname_stu());
findViewById(R.id.sessionPauseBtn).setVisibility(View.INVISIBLE);
okBtn.setVisibility(View.INVISIBLE);
disBtn.setVisibility(View.INVISIBLE);
spoBtn.setVisibility(View.INVISIBLE);
failBtn.setVisibility(View.INVISIBLE);
supBtn.setVisibility(View.INVISIBLE);
onoffBtn.setEnabled(false);
onoffBtn.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { onoffBtn.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override @Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
Fragment fragment; Fragment fragment;
int pause; String fragment_label;
int stop;
if (isChecked) { if (isChecked) {
fragment= sessionFragment; fragment= sessionFragment;
pause=View.VISIBLE; fragment_label=SessionActivity.FRAGMENT_SESSION;
stop=View.VISIBLE;
if (!PCBcontext.getPcbdb().getCurrentUser().is_mirror_on())
PCBcontext.getPcbdb().getCurrentUser().alter_mirror_mode();
} }
else { else {
fragment=listInstructionsFragment; fragment=listInstructionsFragment;
pause=View.INVISIBLE; fragment_label=SessionActivity.FRAGMENT_METHOD;
stop=View.INVISIBLE;
if (previous_mirrormode!=PCBcontext.getPcbdb().getCurrentUser().is_mirror_on())
PCBcontext.getPcbdb().getCurrentUser().alter_mirror_mode();
} }
FragmentManager fragmentManager = SessionActivity.this.getSupportFragmentManager(); FragmentManager fragmentManager = getSupportFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager FragmentTransaction fragmentTransaction = fragmentManager
.beginTransaction(); .beginTransaction();
fragmentTransaction.replace(R.id.sessions_fragment_container, fragment); fragmentTransaction.replace(R.id.sessions_fragment_container, fragment,fragment_label);
fragmentTransaction.commit(); fragmentTransaction.commit();
findViewById(R.id.sessionPauseBtn).setVisibility(pause); findViewById(R.id.sessionPauseBtn).setVisibility(stop);
okBtn.setVisibility(pause); okBtn.setVisibility(stop);
disBtn.setVisibility(pause); disBtn.setVisibility(stop);
spoBtn.setVisibility(pause); spoBtn.setVisibility(stop);
failBtn.setVisibility(pause); failBtn.setVisibility(stop);
supBtn.setVisibility(pause); supBtn.setVisibility(stop);
findViewById(R.id.sessionTopbarMethodName).setVisibility(stop);
findViewById(R.id.sessionTopbarInstructionName).setVisibility(stop);
} }
}); });
...@@ -122,16 +133,31 @@ public class SessionActivity extends FragmentActivity implements ListInstruction ...@@ -122,16 +133,31 @@ public class SessionActivity extends FragmentActivity implements ListInstruction
} catch (IOException e) { } catch (IOException e) {
Log.e(this.getClass().getCanonicalName(),"Error setting student image"); Log.e(this.getClass().getCanonicalName(),"Error setting student image");
} }
Fragment currentFragment = getSupportFragmentManager().findFragmentByTag(SessionActivity.FRAGMENT_METHOD);
if (currentFragment == null || !currentFragment.isVisible()) {
findViewById(R.id.sessionTopbarMethodName).setVisibility(View.INVISIBLE);
findViewById(R.id.sessionTopbarInstructionName).setVisibility(View.INVISIBLE);
findViewById(R.id.sessionPauseBtn).setVisibility(View.INVISIBLE);
okBtn.setVisibility(View.INVISIBLE);
disBtn.setVisibility(View.INVISIBLE);
spoBtn.setVisibility(View.INVISIBLE);
failBtn.setVisibility(View.INVISIBLE);
supBtn.setVisibility(View.INVISIBLE);
onoffBtn.setEnabled(false);
}
} }
@Override @Override
public void instruction_selected(int instruction) { public void instruction_selected(int instruction, String instruction_name) {
((ToggleButton)findViewById(R.id.sessionOnOffBtn)).setEnabled(true); ((ToggleButton)findViewById(R.id.sessionOnOffBtn)).setEnabled(true);
((TextView)findViewById(R.id.sessionTopbarInstructionName)).setText(instruction_name);
} }
@Override @Override
public void method_selected(int method) { public void method_selected(int method, String method_name) {
((ToggleButton)findViewById(R.id.sessionOnOffBtn)).setEnabled(false); ((ToggleButton)findViewById(R.id.sessionOnOffBtn)).setEnabled(false);
((TextView)findViewById(R.id.sessionTopbarMethodName)).setText(method_name);
} }
@Override @Override
......
...@@ -5,12 +5,15 @@ import android.content.Context; ...@@ -5,12 +5,15 @@ import android.content.Context;
import android.net.Uri; import android.net.Uri;
import android.os.Bundle; import android.os.Bundle;
import android.support.v4.app.Fragment; import android.support.v4.app.Fragment;
import android.util.Log;
import android.view.LayoutInflater; import android.view.LayoutInflater;
import android.view.View; import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
import android.widget.ListView; import android.widget.ListView;
import com.yottacode.pictogram.net.websockets.ActionTalk;
import com.yottacode.pictogram.tabletlibrary.R; import com.yottacode.pictogram.tabletlibrary.R;
import com.yottacode.pictogram.tools.PCBcontext;
/** /**
* A simple {@link Fragment} subclass. * A simple {@link Fragment} subclass.
...@@ -20,7 +23,7 @@ import com.yottacode.pictogram.tabletlibrary.R; ...@@ -20,7 +23,7 @@ import com.yottacode.pictogram.tabletlibrary.R;
* Use the {@link SessionFragment#newInstance} factory method to * Use the {@link SessionFragment#newInstance} factory method to
* create an instance of this fragment. * create an instance of this fragment.
*/ */
public class SessionFragment extends Fragment { public class SessionFragment extends Fragment implements ActionTalk.iActionListener {
// TODO: Rename parameter arguments, choose names that match // TODO: Rename parameter arguments, choose names that match
// the fragment initialization parameters, e.g. ARG_ITEM_NUMBER // the fragment initialization parameters, e.g. ARG_ITEM_NUMBER
private static final String ARG_PARAM1 = "param1"; private static final String ARG_PARAM1 = "param1";
...@@ -88,6 +91,7 @@ public class SessionFragment extends Fragment { ...@@ -88,6 +91,7 @@ public class SessionFragment extends Fragment {
super.onAttach(context); super.onAttach(context);
if (context instanceof OnFragmentInteractionListener) { if (context instanceof OnFragmentInteractionListener) {
mListener = (OnFragmentInteractionListener) context; mListener = (OnFragmentInteractionListener) context;
PCBcontext.getVocabulary().addActionTalkListener(this);
} else { } else {
throw new RuntimeException(context.toString() throw new RuntimeException(context.toString()
+ " must implement OnFragmentInteractionListener"); + " must implement OnFragmentInteractionListener");
...@@ -99,6 +103,7 @@ public class SessionFragment extends Fragment { ...@@ -99,6 +103,7 @@ public class SessionFragment extends Fragment {
super.onAttach(context); super.onAttach(context);
if (context instanceof OnFragmentInteractionListener) { if (context instanceof OnFragmentInteractionListener) {
mListener = (OnFragmentInteractionListener) context; mListener = (OnFragmentInteractionListener) context;
PCBcontext.getVocabulary().addActionTalkListener(this);
} else { } else {
throw new RuntimeException(context.toString() throw new RuntimeException(context.toString()
+ " must implement OnFragmentInteractionListener"); + " must implement OnFragmentInteractionListener");
...@@ -108,9 +113,15 @@ public class SessionFragment extends Fragment { ...@@ -108,9 +113,15 @@ public class SessionFragment extends Fragment {
@Override @Override
public void onDetach() { public void onDetach() {
super.onDetach(); super.onDetach();
PCBcontext.getVocabulary().removeActionTalkListener(this);
mListener = null; mListener = null;
} }
@Override
public void action(action action, int picto_cat, int picto_id) {
Log.e(this.getClass().getCanonicalName(),"ACTION VOC");
}
/** /**
* This interface must be implemented by activities that contain this * This interface must be implemented by activities that contain this
* fragment to allow an interaction in this fragment to be communicated * fragment to allow an interaction in this fragment to be communicated
......
...@@ -53,7 +53,33 @@ ...@@ -53,7 +53,33 @@
android:textColor="@color/abc_secondary_text_material_light" /> android:textColor="@color/abc_secondary_text_material_light" />
</LinearLayout> </LinearLayout>
<LinearLayout
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:id="@+id/methodLayout"
android:layout_centerVertical="true"
android:gravity="end"
android:layout_toLeftOf="@+id/sessionPauseBtn"
android:layout_marginRight="20dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text=""
android:id="@+id/sessionTopbarMethodName"
android:textColor="@color/blue" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceSmall"
android:text=""
android:id="@+id/sessionTopbarInstructionName"
android:textColor="@color/blue" />
</LinearLayout>
<ToggleButton <ToggleButton
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
......
...@@ -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/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/assets" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/test/aidl" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/test/java" 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/shaders" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/res" type="java-test-resource" /> <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/resources" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/assets" type="java-test-resource" /> <sourceFolder url="file://$MODULE_DIR$/src/androidTest/assets" type="java-test-resource" />
...@@ -122,6 +114,14 @@ ...@@ -122,6 +114,14 @@
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/jni" 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/rs" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/androidTest/shaders" 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/resources" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/test/assets" type="java-test-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/test/aidl" isTestSource="true" />
<sourceFolder url="file://$MODULE_DIR$/src/test/java" 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/shaders" isTestSource="true" />
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/blame" /> <excludeFolder url="file://$MODULE_DIR$/build/intermediates/blame" />
<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" />
......
...@@ -43,6 +43,13 @@ ...@@ -43,6 +43,13 @@
<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" />
...@@ -51,13 +58,6 @@ ...@@ -51,13 +58,6 @@
<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" />
...@@ -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/blame" /> <excludeFolder url="file://$MODULE_DIR$/build/intermediates/blame" />
<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" />
......
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