package com.example.barnes.ummo; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.util.Log; import com.example.barnes.ummo.db.Db; import com.example.barnes.ummo.fragment.SelectableTreeFragment; import com.example.barnes.ummo.holder.SelectableItemHolder; import com.example.barnes.ummo.ummoAPI.QUser; import com.example.barnes.ummo.ummoAPI.QUserListner; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; /** * Created by barnes on 8/7/15. */ public class SingleFragmentActivity extends Activity implements QUserListner { Db db; private QUser user; private vQ selectedQ; private String categoriesJSON; private String qsJSON; private String qJSON; private String joinedQsJSON; private String serviceProvidersJSON; //Some setters and getters for qs public void setSelectedQ(vQ vq) { selectedQ=vq; } public String getJoinedQsJSON(){ return joinedQsJSON; } public void joinSelectedQ(){ user.joinQ(selectedQ.getCellNumb()); } public void setQinfoDialog(SelectableItemHolder info){ selectedQ.setInfo(info); } public vQ getSelectedQ(){ return selectedQ; } public void setSelectedQ(String cell) { selectedQ = new vQ(); selectedQ.setCellNumb(cell); } public void setSelectedQ(JSONObject obj) { selectedQ = new vQ(); selectedQ.setFromJSON(obj); } //end setters and getters for qs //Overriding for QUserListener Begins Here //sucess Handlers @Override public void gotJoinedQs(String string) { Log.d("JoinedQs",string); } @Override public void qReady(String string) { qJSON=string; Log.d("QDATA",string); try { JSONObject object = new JSONObject(qJSON); selectedQ.getInfo().dialog(qJSON); } catch (JSONException jse) { Log.d("Error",jse.toString()); } } @Override public void qError(String err) { } public String getCategoriesJSON(){ return categoriesJSON; } public String getQsJSON(){ return qsJSON; } public String getServiceProvidersJSON(){ return serviceProvidersJSON; } public QUser getUser(){ return user; } public final static String FRAGMENT_PARAM = "fragment"; @Override public void userRegistered(String string) { } @Override public void qJoined(String string) { } @Override public void qLeft(String string) { } @Override public void updated(String string) { Log.d("joinedQs",string); try { //JSONObject object = new JSONObject(string); JSONArray JSONqs = new JSONArray(string); joinedQsJSON = JSONqs.toString(); if(JSONqs.length()>0) { Intent i = new Intent(); i.putExtra("joinedQs",joinedQsJSON); //i.putExtra("qpos",string2); i.setClass(this, Main_Activity.class); this.startActivity(i); } } catch (JSONException jse) { Log.e("JoinedQs",jse.toString()); } } @Override public void categoriesReady(String string) { categoriesJSON = string; /* Bundle b = getIntent().getExtras(); Class<?> fragmentClass = (Class<?>) b.get(FRAGMENT_PARAM); Fragment f = (Fragment)(new SelectableTreeFragment());//Fragment.instantiate(this, SelectableTreeFragment.class); f.setArguments(b); getFragmentManager().beginTransaction().replace(R.id.fragment, f, fragmentClass.getName()).commit(); // user.makeNotification(); //Intent i = new Intent(SingleFragmentActivity.this, SelectableTreeFragment.class); //i.putExtra("message", b); //startActivity(i);*/ } @Override public void allQsReady(String string) { qsJSON = string; Log.d("qs",string); } //Error Handlers @Override public void joinedQsError(String err) { } @Override public void userRegistrationError(String err) { } @Override public void qJoinedError(String err) { } @Override public void qLeftError(String err) { } @Override public void updateError(String err) { } @Override public void categoriesError(String err) { } @Override public void allQError(String err) { } //End Overriding for QUserListener @Override protected void onCreate(Bundle bundle) { super.onCreate(bundle); setContentView(R.layout.activity_single_fragment); db = new Db(this); db.open(); db.insertServiceTypeQ(101, "Financial Services"); db.insertServiceProviderQ(102, "SwaziBank", 101); db.insertServiceProviderQ(103, "FNB", 101); db.insertServiceNameQ(104, "Deposit", 101, 102); db.insertServiceNameQ(105, "Withdrawals", 101, 103); //db.insertServiceNameQ(106, "Foreign Exchange", 101, 102); /*db.insertServiceTypeQ(101, "Government Services"); db.insertServiceProviderQ(201, "SRA", 101); db.insertServiceNameQ(304, "Tax Payment", 101, 201); db.insertServiceNameQ(305,"Trading licence",101,201); /*db.insertServiceTypeQ(102, "MTN Services"); db.insertServiceProviderQ(401, "Ezulwini MTN", 102); db.insertServiceNameQ(500, "SIM Swap", 102, 401); db.insertServiceNameQ(501, "Air Time", 102, 401); db.insertServiceNameQ(502, "Internet Services", 102, 401); //db.insertServiceTypeQ(100, "MTN Services"); //db.insertServiceProviderQ(2, "Ezulwini MTN", 1); //db.insertServiceNameQ(3, "SIM Swap", 1, 2); db.close(); //db.insertServiceNameQ(501, "Air Time", 102, 401); //db.insertServiceNameQ(502, "Internet Services", 102, 401);*/ user = new QUser(this); user.getCategories(); // Bundle b = getIntent().getExtras(); //Class<?> fragmentClass = (Class<?>) b.get(FRAGMENT_PARAM); //Fragment f = Fragment.instantiate(this, fragmentClass.getName()); //f.setArguments(b); //getFragmentManager().beginTransaction().replace(R.id.fragment, f, fragmentClass.getName()).commit(); //Log.e("about", "to call function"); //user.startUpdatesDaemon(); Bundle b = getIntent().getExtras(); Class<?> fragmentClass = (Class<?>) b.get(FRAGMENT_PARAM); /*Fragment f = Fragment.instantiate(this, fragmentClass.getName()); f.setArguments(b); getFragmentManager().beginTransaction().replace(R.id.fragment, f, fragmentClass.getName()).commit();*/ Intent i = new Intent(SingleFragmentActivity.this, SelectableTreeFragment.class); i.putExtra("message", b); startActivity(i); } } class vQ { private String cellNumb; private SelectableItemHolder info; private String qLocation; private int qlength; private int ttdqMin; private int ttdqSec; public void setInfo(SelectableItemHolder info1){ info=info1; } public SelectableItemHolder getInfo(){ return info; } public vQ() { } public void calculateStats() { } public String getCellNumb(){ return cellNumb; } public void setFromJSON(JSONObject vq) { Log.e("cellNumber",cellNumb); info.dialog(vq.toString()); } public void setCellNumb(String cellNumb1){ cellNumb = cellNumb1; } }