-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathGetSites.java
157 lines (134 loc) · 5.31 KB
/
GetSites.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
package com.sample.jsonparsing;
import android.app.ProgressDialog;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;
import com.android.volley.AuthFailureError;
import com.android.volley.Request;
import com.android.volley.RequestQueue;
import com.android.volley.Response;
import com.android.volley.VolleyError;
import com.android.volley.toolbox.StringRequest;
import com.android.volley.toolbox.Volley;
import com.google.gson.Gson;
import org.json.JSONArray;
import org.json.JSONObject;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class GetSites extends AppCompatActivity {
List<String> mData;
List<String> mId;
ListAdapter mAdapter;
SQLitehelper dbase;
Context mContext;
ListView mList;
String token;
GetPrefsValue getPrefs;
ProgressDialog mProgress;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_getsites);
mContext = GetSites.this;
dbase = new SQLitehelper(mContext);
mList = (ListView) findViewById(R.id.sitesList);
mData = new ArrayList<String>();
mId = new ArrayList<String>();
mProgress = new ProgressDialog(mContext);
mProgress.setCancelable(false);
mProgress.setMessage("Loading. Please wait...");
getPrefs = new GetPrefsValue(mContext);
token = getPrefs.getPrefsValue("TOKEN");
Log.d("TokenValue-->",token);
getSitesList();
mAdapter = new ListAdapter(mContext,mData,mId);
mList.setAdapter(mAdapter);
mList.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
TextView tvId = (TextView) view.findViewById(R.id.tvId);
String site_Id = tvId.getText().toString();
showProgressDialog();
getSubsitesJson(token, site_Id);
}
});
}
public ArrayList<SiteGetSet> getSitesList(){
ArrayList<SiteGetSet> siteList = new ArrayList<SiteGetSet>();
siteList = dbase.getSites();
if(!siteList.isEmpty()){
for (int i=0; i<siteList.size(); i++){
SiteGetSet sitesGetset = siteList.get(i);
mData.add(sitesGetset.getSiteName());
mId.add(sitesGetset.getSiteId());
}
}
return null;
}
private void getSubsitesJson(final String token, final String siteId){
String urlSubsites = "http://128.199.65.229:1337/MobileSync/getSubSites";
StringRequest strSubsites = new StringRequest(Request.Method.POST, urlSubsites, new Response.Listener<String>() {
@Override
public void onResponse(String str) {
Log.d("Subsite"+" Response-->",str);
try {
JSONArray jsonArray = new JSONArray(str);
for (int i=0; i<jsonArray.length(); i++){
JSONObject jsonObject = jsonArray.getJSONObject(i);
Gson gson = new Gson();
Subsites subsite = gson.fromJson(jsonObject.toString(),Subsites.class);
dbase.addsubSites(subsite.getSubsiteId(),subsite.getSubsiteName(),subsite.getParentId(),
subsite.getDeviceId(),subsite.getInetProtocol(),subsite.getUserId());
}
hideProgressDialog();
Intent intent = new Intent(GetSites.this,GetSubsites.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
GetSites.this.finish();
}catch(Exception e){
e.printStackTrace();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError volleyError) {
}
}){
@Override
public Map<String, String> getHeaders() throws AuthFailureError {
HashMap<String, String> headers = new HashMap<String, String>();
headers.put("APIKEY", "542f0190-ad6f-11e5-93d5-039280b0a9db");
return headers;
}
@Override
protected Map<String, String> getParams() throws AuthFailureError {
Map<String, String> params = new HashMap<String, String>();
params.put("token", token);
params.put("siteid", siteId);
return params;
}
};
RequestQueue strRequest = Volley.newRequestQueue(GetSites.this);
strRequest.add(strSubsites);
}
private void showProgressDialog() {
if (!mProgress.isShowing())
mProgress.show();
}
private void hideProgressDialog() {
if (mProgress.isShowing())
mProgress.hide();
}
}