Removes Gson lib

This commit is contained in:
stom79 2017-12-10 18:05:51 +01:00
parent d6535ad576
commit a18cda47e5
10 changed files with 55 additions and 17 deletions

View File

@ -40,7 +40,6 @@ dependencies {
annotationProcessor 'com.github.bumptech.glide:compiler:4.3.1'
implementation 'com.evernote:android-job:1.2.1'
implementation 'com.github.chrisbanes:PhotoView:2.0.0'
implementation 'com.google.code.gson:gson:2.8.0'
implementation 'org.jsoup:jsoup:1.10.3'
implementation 'com.github.stom79:country-picker-android:1.2.0'
implementation 'com.github.stom79:mytransl:1.2'

View File

@ -17,6 +17,7 @@ package fr.gouv.etalab.mastodon.client.Entities;
import android.os.Parcel;
import android.os.Parcelable;
import java.io.Serializable;
import java.util.Date;
/**
@ -24,7 +25,7 @@ import java.util.Date;
* Manage accounts
*/
public class Account implements Parcelable {
public class Account implements Parcelable, Serializable {
private String id;
private String username;

View File

@ -14,11 +14,13 @@
* see <http://www.gnu.org/licenses>. */
package fr.gouv.etalab.mastodon.client.Entities;
import java.io.Serializable;
/**
* Created by Thomas on 23/04/2017.
*/
public class Application {
public class Application implements Serializable {
public String name;
public String website;

View File

@ -17,12 +17,14 @@ package fr.gouv.etalab.mastodon.client.Entities;
import android.os.Parcel;
import android.os.Parcelable;
import java.io.Serializable;
/**
* Created by Thomas on 23/04/2017.
* Manages Media
*/
public class Attachment implements Parcelable {
public class Attachment implements Parcelable, Serializable{
private String id;
private String type;

View File

@ -14,11 +14,13 @@
* see <http://www.gnu.org/licenses>. */
package fr.gouv.etalab.mastodon.client.Entities;
import java.io.Serializable;
/**
* Created by Thomas on 20/10/2017.
*/
public class Emojis {
public class Emojis implements Serializable {
private String shortcode;
private String static_url;

View File

@ -17,12 +17,14 @@ package fr.gouv.etalab.mastodon.client.Entities;
import android.os.Parcel;
import android.os.Parcelable;
import java.io.Serializable;
/**
* Created by Thomas on 23/04/2017.
* Manages mentions in toots
*/
public class Mention implements Parcelable {
public class Mention implements Parcelable, Serializable {
private String url;
private String username;

View File

@ -42,6 +42,7 @@ import com.bumptech.glide.request.target.SimpleTarget;
import com.bumptech.glide.request.target.Target;
import com.bumptech.glide.request.transition.Transition;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@ -60,7 +61,7 @@ import fr.gouv.etalab.mastodon.sqlite.Sqlite;
* Manage Status (ie: toots)
*/
public class Status implements Parcelable {
public class Status implements Parcelable, Serializable{
private String id;
private String uri;

View File

@ -14,12 +14,14 @@
* see <http://www.gnu.org/licenses>. */
package fr.gouv.etalab.mastodon.client.Entities;
import java.io.Serializable;
/**
* Created by Thomas on 23/04/2017.
* Manage Tags
*/
public class Tag {
public class Tag implements Serializable {
private String name;
private String url;

View File

@ -66,6 +66,7 @@ import android.text.SpannableString;
import android.text.Spanned;
import android.text.TextPaint;
import android.text.style.ClickableSpan;
import android.util.Base64;
import android.util.DisplayMetrics;
import android.util.Patterns;
import android.view.Menu;
@ -91,9 +92,9 @@ import com.bumptech.glide.request.RequestListener;
import com.bumptech.glide.request.target.SimpleTarget;
import com.bumptech.glide.request.target.Target;
import com.bumptech.glide.request.transition.Transition;
import com.google.gson.Gson;
import java.io.BufferedReader;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
@ -101,7 +102,10 @@ import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.OutputStream;
import java.io.UnsupportedEncodingException;
import java.net.InetAddress;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
@ -129,11 +133,8 @@ import fr.gouv.etalab.mastodon.activities.WebviewActivity;
import fr.gouv.etalab.mastodon.asynctasks.RemoveAccountAsyncTask;
import fr.gouv.etalab.mastodon.client.API;
import fr.gouv.etalab.mastodon.client.Entities.Account;
import fr.gouv.etalab.mastodon.client.Entities.Emojis;
import fr.gouv.etalab.mastodon.client.Entities.Mention;
import fr.gouv.etalab.mastodon.client.Entities.Results;
import fr.gouv.etalab.mastodon.client.Entities.Status;
import fr.gouv.etalab.mastodon.interfaces.OnRetrieveEmojiInterface;
import fr.gouv.etalab.mastodon.sqlite.AccountDAO;
import fr.gouv.etalab.mastodon.sqlite.Sqlite;
@ -1510,8 +1511,17 @@ public class Helper {
* @return String serialized Status
*/
public static String statusToStringStorage(Status status){
Gson gson = new Gson();
return gson.toJson(status);
String serialized = null;
try {
ByteArrayOutputStream bo = new ByteArrayOutputStream();
ObjectOutputStream so = new ObjectOutputStream(bo);
so.writeObject(status);
so.flush();
serialized = new String(Base64.encode(bo.toByteArray(), Base64.DEFAULT));
} catch (IOException e) {
e.printStackTrace();
}
return serialized;
}
/**
@ -1520,8 +1530,24 @@ public class Helper {
* @return Status
*/
public static Status restoreStatusFromString(String serializedStatus){
Gson gson = new Gson();
return gson.fromJson(serializedStatus, Status.class);
Status status = null;
if(serializedStatus == null)
return null;
byte b[];
try {
b = Base64.decode(serializedStatus.getBytes(), Base64.DEFAULT);
ByteArrayInputStream bi = new ByteArrayInputStream(b);
ObjectInputStream si = new ObjectInputStream(bi);
status = (Status) si.readObject();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
return status;
}
/**

View File

@ -19,6 +19,7 @@ import android.content.Context;
import android.content.SharedPreferences;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@ -70,7 +71,6 @@ public class StatusStoredDAO {
values.put(Sqlite.COL_INSTANCE, instance);
values.put(Sqlite.COL_USER_ID, userId);
values.put(Sqlite.COL_SENT, 0);
//Inserts stored status
long last_id;
try{
@ -208,6 +208,7 @@ public class StatusStoredDAO {
Cursor c = db.query(Sqlite.TABLE_STATUSES_STORED, null, Sqlite.COL_USER_ID + " = '" + userId+ "' AND " + Sqlite.COL_INSTANCE + " = '" + instance+ "' AND " + Sqlite.COL_IS_SCHEDULED + " = 0", null, null, null, Sqlite.COL_DATE_CREATION + " DESC", null);
return cursorToListStatuses(c);
} catch (Exception e) {
e.printStackTrace();
return null;
}
}