Code with Finding: |
/* * Decompiled with CFR 0_128. * * Could not load the following classes: * android.app.Activity * android.content.ContentValues * android.content.Context * android.database.Cursor * android.database.sqlite.SQLiteDatabase * android.graphics.Bitmap * android.graphics.BitmapFactory * android.util.Base64 * de.cosmosdirekt.InternDb.DatabaseHelper * de.cosmosdirekt.InternDb.RestUtils * de.cosmosdirekt.InternDb.objects.DataStructAllgemein * de.cosmosdirekt.images.Images * org.json.JSONArray * org.json.JSONObject */ package de.cosmosdirekt.InternDb;
import android.app.Activity; import android.content.ContentValues; import android.content.Context; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.util.Base64; import de.cosmosdirekt.InternDb.DatabaseHelper; import de.cosmosdirekt.InternDb.RestUtils; import de.cosmosdirekt.InternDb.objects.DataStructAllgemein; import de.cosmosdirekt.images.Images; import java.io.BufferedReader; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.InputStream; import java.io.InputStreamReader; import java.io.Reader; import java.util.ArrayList; import java.util.Date; import java.util.Iterator; import java.util.UUID; import org.json.JSONArray; import org.json.JSONObject;
public class UploadObjectsLogic { Context context; DatabaseHelper databaseHelper;
public UploadObjectsLogic(Context context, DatabaseHelper databaseHelper) { this.context = context; this.databaseHelper = databaseHelper; }
/* * Enabled force condition propagation * Lifted jumps to return sites */ private void deleteFromInternalStorage(String string) { Context context; try { context = this.context; } catch (Exception exception) { exception.printStackTrace(); return; } context.deleteFile(string); do { return; break; } while (true); }
/* * Enabled force condition propagation * Lifted jumps to return sites */ private JSONObject getDataFromContentId(String string) { Object object; try { object = this.databaseHelper; } catch (Exception exception) { exception.printStackTrace(); return new JSONObject(); } SQLiteDatabase sQLiteDatabase = object.getReadableDatabase(); JSONObject jSONObject = new JSONObject(); String string2 = "SELECT VSNR,FILENAME from UPLOADOBJECTS where CONTENTID = ?"; int n = 1; String[] arrstring = new String[n]; n = 0; object = null; arrstring[0] = string; Cursor cursor = sQLiteDatabase.rawQuery(string2, arrstring); n = cursor.moveToFirst() ? 1 : 0; if (n == 0) return jSONObject; object = "VSNR"; String string3 = "VSNR"; int n2 = cursor.getColumnIndex(string3); string3 = cursor.getString(n2); jSONObject.put((String)object, (Object)string3); object = "FILENAME"; string3 = "FILENAME"; n2 = cursor.getColumnIndex(string3); string3 = cursor.getString(n2); jSONObject.put((String)object, (Object)string3); return jSONObject; }
/* * Enabled aggressive block sorting * Enabled unnecessary exception pruning * Enabled aggressive exception aggregation */ private String getFileFromInternalStorage(String string) { try { String string2; Context context = this.context; FileInputStream fileInputStream = context.openFileInput(string); InputStreamReader inputStreamReader = new InputStreamReader(fileInputStream); BufferedReader bufferedReader = new BufferedReader(inputStreamReader); StringBuilder stringBuilder = new StringBuilder(); while ((string2 = bufferedReader.readLine()) != null) { stringBuilder.append(string2); } return stringBuilder.toString(); } catch (Exception exception) { exception.printStackTrace(); return null; } }
/* * Enabled force condition propagation * Lifted jumps to return sites */ private JSONArray getObjectFromStorageAndDatabase(String string, String[] arrstring) { JSONArray jSONArray; SQLiteDatabase sQLiteDatabase; block36 : { Object object = this.databaseHelper; sQLiteDatabase = object.getReadableDatabase(); jSONArray = new JSONArray(); Cursor cursor = sQLiteDatabase.rawQuery(string, arrstring); boolean bl = cursor.moveToFirst(); if (!bl) break block36; do { JSONObject jSONObject = new JSONObject(); object = "CONTENTID"; object = object.toLowerCase(); String string2 = "CONTENTID"; int n = cursor.getColumnIndex(string2); string2 = cursor.getString(n); jSONObject.put((String)object, (Object)string2); object = "CATCODE"; object = object.toLowerCase(); string2 = "CATCODE"; n = cursor.getColumnIndex(string2); string2 = cursor.getString(n); jSONObject.put((String)object, (Object)string2); object = "SYNC"; object = object.toLowerCase(); string2 = "SYNC"; n = cursor.getColumnIndex(string2); string2 = cursor.getString(n); jSONObject.put((String)object, (Object)string2); object = "FILENAME"; object = object.toLowerCase(); string2 = "FILENAME"; n = cursor.getColumnIndex(string2); string2 = cursor.getString(n); jSONObject.put((String)object, (Object)string2); object = "CONTENTID"; object = object.toLowerCase(); object = jSONObject.getString((String)object); String string3 = this.getFileFromInternalStorage((String)object); object = string3.getBytes(); n = 0; string2 = null; byte[] arrby = Base64.decode((byte[])object, (int)0); bl = false; object = null; n = arrby.length; Bitmap bitmap = BitmapFactory.decodeByteArray((byte[])arrby, (int)0, (int)n); object = "orientation"; string2 = Images.getOrientation((Bitmap)bitmap); jSONObject.put((String)object, (Object)string2); object = "pic"; jSONObject.put((String)object, (Object)string3); jSONArray.put((Object)jSONObject); if (bl = cursor.moveToNext()) continue; break; } while (true); } try { sQLiteDatabase.close(); return jSONArray; } catch (Exception exception) { exception.printStackTrace(); sQLiteDatabase.close(); return null; } }
private void prepareDbForNewInstallation(JSONArray jSONArray, String string) { int n; for (int i = 0; i < (n = jSONArray.length()); ++i) { Object object = jSONArray.get(i).toString(); JSONObject jSONObject = new JSONObject((String)object); String string2 = jSONObject.getString("vsnr"); String string3 = jSONObject.getString("filename"); String string4 = ""; String string5 = "J"; String string6 = "N"; object = this; this.insertObjects(string4, null, string2, string3, string5, string6, string); } }
private void prepareDbForNewInstallationOneObject(JSONObject jSONObject, String string) { String string2 = jSONObject.getString("vsnr"); String string3 = jSONObject.getString("filename"); this.insertObjects("", null, string2, string3, "J", "N", string); }
/* * Enabled aggressive block sorting */ private JSONObject requestDownloadBodyFromDb(String string) { JSONObject jSONObject; SQLiteDatabase sQLiteDatabase = this.databaseHelper.getReadableDatabase(); JSONArray jSONArray = new JSONArray(); JSONObject jSONObject2 = new JSONObject(); String string2 = ""; String string3 = ""; String string4 = ""; Boolean bl = false; JSONArray jSONArray2 = new JSONArray(); String string5 = "SELECT VSNR,FILENAME,DOWNLOAD from UPLOADOBJECTS where DOWNLOAD = 'N' AND EMAIL = ? ORDER BY VSNR ASC"; String[] arrstring = new String[1]; String string6 = null; arrstring[0] = string; Cursor cursor = sQLiteDatabase.rawQuery(string5, arrstring); int n = cursor.moveToFirst(); if (n != 0) { do { n = cursor.getColumnIndex("VSNR"); string3 = cursor.getString(n); string6 = "FILENAME"; n = cursor.getColumnIndex(string6); string4 = cursor.getString(n); n = bl.booleanValue() ? 1 : 0; if (n == 0) { string2 = string3; } if ((n = (int)(string3.equals(string2) ? 1 : 0)) == 0) { jSONObject = new JSONObject(); jSONObject.put("vsnr", (Object)string2); string6 = "filenames"; jSONObject.put(string6, (Object)jSONArray2); jSONArray.put((Object)jSONObject); jSONArray2 = new JSONArray(); } else { jSONArray2.put((Object)string4); } bl = true; } while ((n = (int)(cursor.moveToNext() ? 1 : 0)) != 0); } if ((n = bl.booleanValue()) != 0) { jSONObject = new JSONObject(); jSONObject.put("vsnr", (Object)string3); string6 = "filenames"; jSONObject.put(string6, (Object)jSONArray2); jSONArray.put((Object)jSONObject); } jSONObject2.put("objects", (Object)jSONArray); return jSONObject2; }
/* * Enabled force condition propagation * Lifted jumps to return sites */ private void writeToInternalStorage(String string, String string2) { byte[] arrby; try { arrby = this.context; } catch (Exception exception) { exception.printStackTrace(); return; } FileOutputStream fileOutputStream = arrby.openFileOutput(string, 0); arrby = string2.getBytes(); fileOutputStream.write(arrby); fileOutputStream.close(); do { return; break; } while (true); }
public void checkAllObject(DataStructAllgemein dataStructAllgemein) { Object object; int n; boolean bl; ArrayList arrayList = this.getAllObject(); String string = "servicesIDM/mcdservices/downloadAllFiles"; ArrayList<String> arrayList2 = new ArrayList<String>(); Object object2 = new Object(); String string2 = dataStructAllgemein.getToken(); Object object3 = dataStructAllgemein.getEmail(); String string3 = dataStructAllgemein.getUrlPrefix(); String string4 = dataStructAllgemein.getServerKey(); String string5 = dataStructAllgemein.getPubKey(); String string6 = RestUtils.getRequestBody((JSONObject)object2, (String)string2, (String)object3, (String)string3, (String)string4, (String)string5); object2 = dataStructAllgemein.getUrlPrefix(); string2 = "POST"; object3 = false; String string7 = RestUtils.callHttpProcess((String)object2, (String)string, (String)string6, (String)string2, (Boolean)object3); JSONObject jSONObject = RestUtils.getResponse((String)string7, (DataStructAllgemein)dataStructAllgemein); object2 = "o"; JSONArray jSONArray = jSONObject.getJSONArray((String)object2); for (int i = 0; i < (n = jSONArray.length()); ++i) { object2 = jSONArray.get(i).toString(); object = new Object((String)object2); string3 = object.getString("vsnr"); object2 = "filename"; string4 = object.getString((String)object2); arrayList2.add(string4); n = arrayList.contains(string4) ? 1 : 0; if (n != 0) continue; string2 = ""; object3 = null; string5 = "J"; String string8 = "N"; String string9 = dataStructAllgemein.getEmail(); object2 = this; this.insertObjects(string2, null, string3, string4, string5, string8, string9); } object2 = arrayList.iterator(); while (bl = object2.hasNext()) { object = (String)object2.next(); bl = arrayList2.contains(object); if (bl) continue; this.deleteImageForFilename((String)object); } }
/* * Enabled aggressive block sorting */ public void checkDownloadObjects(DataStructAllgemein dataStructAllgemein, Activity activity) { String string; Object object; Boolean bl = false; String string2 = ""; JSONObject jSONObject = new JSONObject(); SQLiteDatabase sQLiteDatabase = this.databaseHelper.getReadableDatabase(); Cursor cursor = sQLiteDatabase.rawQuery(string = "SELECT COUNT(*) AS ANZAHL from UPLOADOBJECTS", (String[])(object = new String[0])); int n = cursor.moveToFirst(); if (n == 0) { return; } object = "ANZAHL"; n = cursor.getColumnIndex((String)object); Integer n2 = cursor.getInt(n); n = n2; if (n == 0) { n = 1; bl = (boolean)n; } if ((n = (int)(bl.booleanValue() ? 1 : 0)) == 0) { this.checkAllObject(dataStructAllgemein); object = dataStructAllgemein.getEmail(); jSONObject = this.requestDownloadBodyFromDb((String)object); string2 = "servicesIDM/mcdservices/downloadSpecificFiles"; } else { string2 = "servicesIDM/mcdservices/downloadAllFiles"; } ArrayList arrayList = this.getAllObject(); n = jSONObject.length(); if (n != 0 && (n = (object = jSONObject.getJSONArray("objects")).length()) == 0) { jSONObject = new JSONObject(); string2 = "servicesIDM/mcdservices/downloadAllFiles"; } object = dataStructAllgemein.getToken(); String string3 = dataStructAllgemein.getEmail(); String string4 = dataStructAllgemein.getUrlPrefix(); String string5 = dataStructAllgemein.getServerKey(); String string6 = dataStructAllgemein.getPubKey(); String string7 = RestUtils.getRequestBody((JSONObject)jSONObject, (String)object, (String)string3, (String)string4, (String)string5, (String)string6); object = dataStructAllgemein.getUrlPrefix(); string6 = "POST"; Object object2 = false; String string8 = RestUtils.callHttpProcess((String)object, (String)string2, (String)string7, (String)string6, (Boolean)object2); JSONObject jSONObject2 = RestUtils.getResponse((String)string8, (DataStructAllgemein)dataStructAllgemein); object = "o"; JSONArray jSONArray = jSONObject2.getJSONArray((String)object); n = bl.booleanValue() ? 1 : 0; if (n != 0) { object = dataStructAllgemein.getEmail(); this.prepareDbForNewInstallation(jSONArray, (String)object); } int n3 = 0; while (n3 < (n = jSONArray.length())) { object = jSONArray.get(n3).toString(); JSONObject jSONObject3 = new JSONObject((String)object); n = bl.booleanValue() ? 1 : 0; if (n == 0 && (n = (int)(arrayList.contains(object = jSONObject3.getString("filename")) ? 1 : 0)) == 0) { object = dataStructAllgemein.getEmail(); this.prepareDbForNewInstallationOneObject(jSONObject3, (String)object); } string4 = jSONObject3.getString("vsnr"); string5 = jSONObject3.getString("filename"); string3 = this.getContentId(string4, string5); object = jSONObject3.getString("url"); string6 = jSONObject3.getString("key"); object2 = jSONObject3.getString("padding"); RestUtils.startAsyncCallS3Download((String)object, (String)string3, (String)string4, (String)string5, (String)string6, (String)object2, (DataStructAllgemein)dataStructAllgemein, (Activity)activity); ++n3; } }
public JSONObject deleteImage(String string) { JSONObject jSONObject = this.getDataFromContentId(string); SQLiteDatabase sQLiteDatabase = this.databaseHelper.getWritableDatabase(); String[] arrstring = new String[]{string}; sQLiteDatabase.delete("UPLOADOBJECTS", "CONTENTID= ?", arrstring); this.deleteFromInternalStorage(string); return jSONObject; }
public JSONObject deleteImageForFilename(String string) { String string2 = this.getContentIdFromFilename(string); JSONObject jSONObject = this.getDataFromContentId(string2); SQLiteDatabase sQLiteDatabase = this.databaseHelper.getWritableDatabase(); String[] arrstring = new String[]{string2}; sQLiteDatabase.delete("UPLOADOBJECTS", "CONTENTID= ?", arrstring); this.deleteFromInternalStorage(string2); return jSONObject; }
public ArrayList getAllObject() { Object object; String string; ArrayList<Object> arrayList = new ArrayList<Object>(); SQLiteDatabase sQLiteDatabase = this.databaseHelper.getReadableDatabase(); Cursor cursor = sQLiteDatabase.rawQuery(string = "SELECT FILENAME from UPLOADOBJECTS", (String[])(object = new String[0])); int n = cursor.moveToFirst(); if (n != 0) { do { n = cursor.getColumnIndex("FILENAME"); object = cursor.getString(n); arrayList.add(object); } while ((n = (int)(cursor.moveToNext() ? 1 : 0)) != 0); } return arrayList; }
/* * Enabled force condition propagation * Lifted jumps to return sites */ public String getContentId(String string, String string2) { SQLiteDatabase sQLiteDatabase = this.databaseHelper.getReadableDatabase(); String string3 = "SELECT CONTENTID from UPLOADOBJECTS where VSNR = ? AND FILENAME = ?"; String[] arrstring = new String[2]; String string4 = null; arrstring[0] = string; arrstring[1] = string2; Cursor cursor = sQLiteDatabase.rawQuery(string3, arrstring); int n = cursor.moveToFirst(); if (n == 0) return null; n = cursor.getColumnIndex("CONTENTID"); return cursor.getString(n); }
/* * Enabled force condition propagation * Lifted jumps to return sites */ public String getContentIdFromFilename(String string) { SQLiteDatabase sQLiteDatabase = this.databaseHelper.getReadableDatabase(); String string2 = "SELECT CONTENTID from UPLOADOBJECTS where FILENAME = ?"; String[] arrstring = new String[1]; String string3 = null; arrstring[0] = string; Cursor cursor = sQLiteDatabase.rawQuery(string2, arrstring); int n = cursor.moveToFirst(); if (n == 0) return null; n = cursor.getColumnIndex("CONTENTID"); return cursor.getString(n); }
public String insertObjects(String string, String string2, String string3, String string4, String string5, String string6, String string7) { String string8 = UUID.randomUUID().toString(); SQLiteDatabase sQLiteDatabase = this.databaseHelper.getWritableDatabase(); ContentValues contentValues = new ContentValues(); contentValues.put("CATCODE", string); contentValues.put("CONTENTID", string8); contentValues.put("VSNR", string3); contentValues.put("FILENAME", string4); contentValues.put("SYNC", string5); contentValues.put("DOWNLOAD", string6); contentValues.put("EMAIL", string7); Comparable comparable = new Comparable(); long l = comparable.getTime(); comparable = Long.valueOf(l); contentValues.put("ERSTELLUNGSZEITPUNKT", (Long)comparable); String string9 = "UPLOADOBJECTS"; comparable = null; sQLiteDatabase.insert(string9, null, contentValues); sQLiteDatabase.close(); if (string2 != null) { this.writeToInternalStorage(string8, string2); } return string8; }
public JSONArray loadAllImagesFromVsnr(String string) { String[] arrstring = new String[]{string}; return this.getObjectFromStorageAndDatabase("SELECT CONTENTID,CATCODE,SYNC , FILENAME from UPLOADOBJECTS where VSNR = ? AND DOWNLOAD = 'J' ORDER BY ERSTELLUNGSZEITPUNKT DESC", arrstring); }
public JSONArray loadPicFromContentId(String string) { String[] arrstring = new String[]{string}; return this.getObjectFromStorageAndDatabase("SELECT CONTENTID,CATCODE,SYNC , FILENAME from UPLOADOBJECTS where CONTENTID = ? AND DOWNLOAD = 'J'", arrstring); }
public Boolean setSyncAfterUpload(String string, String string2) { boolean bl = true; SQLiteDatabase sQLiteDatabase = this.databaseHelper.getWritableDatabase(); ContentValues contentValues = new ContentValues(); contentValues.put("SYNC", "J"); contentValues.put("FILENAME", string2); String[] arrstring = new String[bl]; arrstring[0] = string; sQLiteDatabase.update("UPLOADOBJECTS", contentValues, "CONTENTID= ?", arrstring); return bl; }
public JSONArray syncAllObjectToS3() { SQLiteDatabase sQLiteDatabase = this.databaseHelper.getReadableDatabase(); String string = "SELECT CONTENTID,CATCODE,VSNR,FILENAME from UPLOADOBJECTS where SYNC = 'N'"; String string2 = null; String[] arrstring = new String[]{}; JSONArray jSONArray = new JSONArray(); Cursor cursor = sQLiteDatabase.rawQuery(string, arrstring); boolean bl = cursor.moveToFirst(); if (bl) { do { JSONObject jSONObject = new JSONObject(); int n = cursor.getColumnIndex("CONTENTID"); String string3 = cursor.getString(n); jSONObject.put("CONTENTID", (Object)string3); n = cursor.getColumnIndex("CATCODE"); string3 = cursor.getString(n); jSONObject.put("CATCODE", (Object)string3); n = cursor.getColumnIndex("VSNR"); string3 = cursor.getString(n); jSONObject.put("VSNR", (Object)string3); n = cursor.getColumnIndex("FILENAME"); string3 = cursor.getString(n); jSONObject.put("FILENAME", (Object)string3); string2 = jSONObject.getString("CONTENTID"); String string4 = this.getFileFromInternalStorage(string2); string2 = "pic"; jSONObject.put(string2, (Object)string4); jSONArray.put((Object)jSONObject); } while (bl = cursor.moveToNext()); } return jSONArray; }
public void updateDownloadImage(String string, String string2) { SQLiteDatabase sQLiteDatabase = this.databaseHelper.getWritableDatabase(); ContentValues contentValues = new ContentValues(); contentValues.put("DOWNLOAD", "J"); String[] arrstring = new String[]{string}; sQLiteDatabase.update("UPLOADOBJECTS", contentValues, "CONTENTID= ?", arrstring); this.writeToInternalStorage(string, string2); sQLiteDatabase.close(); } }
|