You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
141 lines
5.1 KiB
141 lines
5.1 KiB
package com.likesoft.mdedal; |
|
|
|
import android.app.Activity; |
|
import android.app.ProgressDialog; |
|
import android.content.Context; |
|
import android.content.SharedPreferences; |
|
import android.os.AsyncTask; |
|
import android.preference.PreferenceManager; |
|
import android.widget.LinearLayout; |
|
import android.widget.Toast; |
|
|
|
import org.json.JSONException; |
|
import org.json.JSONObject; |
|
|
|
import java.io.BufferedReader; |
|
import java.io.File; |
|
import java.io.FileNotFoundException; |
|
import java.io.FileOutputStream; |
|
import java.io.FileReader; |
|
import java.io.IOException; |
|
import java.util.HashMap; |
|
import java.util.Iterator; |
|
import java.util.Map; |
|
|
|
/** |
|
* Created by darek on 2016-01-25. |
|
*/ |
|
abstract class AsyncCallChangeDate extends AsyncTask<String, Void, Void> { |
|
private Activity calendarActivity; |
|
ProgressDialog progressDialog; |
|
String response; |
|
String id_zlecenia; |
|
String kod_pola; |
|
String wartosc; |
|
LinearLayout movingEl; |
|
|
|
public AsyncCallChangeDate(Activity calendarActivity, String id_zlecenia, String kod_pola, String wartosc) { |
|
this.calendarActivity = calendarActivity; |
|
//this.progressDialog = new ProgressDialog(); |
|
|
|
this.id_zlecenia = id_zlecenia; |
|
this.kod_pola = kod_pola; |
|
this.wartosc = wartosc; |
|
//this.progressDialog = new ProgressDialog(); |
|
} |
|
|
|
@Override |
|
protected Void doInBackground(String... params) { |
|
android.util.Log.d("my_debug", "doInBackground"); |
|
DedalHttpConnection con = new DedalHttpConnection(calendarActivity.getApplicationContext()); |
|
Map<String, String> params_post = new HashMap<String, String>(); |
|
params_post.put("id_zlecenia", id_zlecenia); |
|
params_post.put("kod_pola", kod_pola); |
|
params_post.put("wartosc", wartosc); |
|
response = con.sendPost("public/ajax/zmien_wartosc_zlecenie_pole_stale.php", params_post); |
|
return null; |
|
} |
|
|
|
@Override |
|
protected void onPostExecute(Void result) { |
|
android.util.Log.d("my_debug", "onPostExecute"); |
|
|
|
//this.progressDialog.dismiss(); |
|
Log.d("CalAct", "resp: "+response); |
|
if( response != null && "true".equals(response) ) { |
|
|
|
JSONObject jZlecenie = null; |
|
try { |
|
|
|
// read file |
|
Context context = calendarActivity.getApplicationContext(); |
|
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); |
|
File dLista = new File(prefs.getString("dir", "") + "/baza/lista.profil"); |
|
String sJson = DedalHelper.getFileContent(dLista.getAbsolutePath()); |
|
JSONObject jFile = new JSONObject(sJson); |
|
|
|
JSONObject jProfiles = jFile.getJSONObject("profile"); |
|
Iterator keys = jProfiles.keys(); |
|
while (keys.hasNext()) { |
|
String id_profilu_curr = (String) keys.next(); |
|
try { |
|
JSONObject jProfil = jProfiles.getJSONObject(id_profilu_curr); |
|
// if( !jProfil.has("zlecenia") || !"[]".equals(jProfil.getString("zlecenia")) ) { |
|
// continue; |
|
// } |
|
JSONObject jZlecenia_local = jProfil.getJSONObject("zlecenia"); |
|
if (!jZlecenia_local.has(id_zlecenia)) |
|
continue; |
|
|
|
jZlecenie = jZlecenia_local.getJSONObject(id_zlecenia); |
|
//change value |
|
if (jZlecenie.has(kod_pola)) { |
|
jZlecenie.put(kod_pola, wartosc); |
|
Log.d("CalAct", "kod_pola: " + kod_pola + "wartosc: " + wartosc); |
|
} |
|
} |
|
catch (JSONException e) { |
|
Log.e("DEDAL", "onPostExecute", e); |
|
} |
|
} |
|
|
|
// save file |
|
DedalHelper.putFileContent(prefs.getString("dir", "") + "/baza/lista.profil", jFile.toString()); |
|
// Toast.makeText(CalendarActivity.this, "Uaktualniono poprawnie", |
|
// Toast.LENGTH_LONG).show(); |
|
|
|
loadInputs(); |
|
// movingEl.removeAllViews(); |
|
// movingEl.addView(getZlecenieElement(jZlecenie, jKolumny)); |
|
|
|
|
|
} catch (JSONException e) { |
|
Log.e("DEDAL", "JSON", e); |
|
} |
|
|
|
} |
|
else { |
|
reloadContent(); |
|
Toast.makeText(calendarActivity, "Wystąpił błąd podczas uaktulaniania, zmiany zostały cofnięte", |
|
Toast.LENGTH_LONG).show(); |
|
Log.d("CalAct", "Błąd przy połaćzeniu do zmien_wartosc_zlecenie_pole_stale.php"); |
|
} |
|
} |
|
|
|
protected abstract void reloadContent(); |
|
|
|
abstract public void loadInputs(); |
|
|
|
@Override |
|
protected void onPreExecute() { |
|
android.util.Log.d("my_debug", "onPreExecute"); |
|
|
|
// Toast.makeText(CalendarActivity.this, "Rozpoczynam uaktualnianie ...", |
|
// Toast.LENGTH_LONG).show(); |
|
} |
|
|
|
@Override |
|
protected void onProgressUpdate(Void... values) { |
|
android.util.Log.i("my_debug", "onProgressUpdate"); |
|
} |
|
}
|
|
|