Adds asynctask
This commit is contained in:
parent
7e840efe9a
commit
e36f95b65e
|
@ -40,7 +40,6 @@ import android.support.v7.app.AlertDialog;
|
||||||
import android.support.v7.widget.PopupMenu;
|
import android.support.v7.widget.PopupMenu;
|
||||||
import android.support.v7.widget.SearchView;
|
import android.support.v7.widget.SearchView;
|
||||||
import android.support.v7.widget.SwitchCompat;
|
import android.support.v7.widget.SwitchCompat;
|
||||||
import android.util.Log;
|
|
||||||
import android.util.Patterns;
|
import android.util.Patterns;
|
||||||
import android.view.Gravity;
|
import android.view.Gravity;
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
|
@ -85,7 +84,6 @@ import fr.gouv.etalab.mastodon.client.Entities.Account;
|
||||||
import fr.gouv.etalab.mastodon.client.Entities.Notification;
|
import fr.gouv.etalab.mastodon.client.Entities.Notification;
|
||||||
import fr.gouv.etalab.mastodon.client.Entities.Status;
|
import fr.gouv.etalab.mastodon.client.Entities.Status;
|
||||||
import fr.gouv.etalab.mastodon.client.Entities.Version;
|
import fr.gouv.etalab.mastodon.client.Entities.Version;
|
||||||
import fr.gouv.etalab.mastodon.client.HttpsConnection;
|
|
||||||
import fr.gouv.etalab.mastodon.client.PatchBaseImageDownloader;
|
import fr.gouv.etalab.mastodon.client.PatchBaseImageDownloader;
|
||||||
import fr.gouv.etalab.mastodon.fragments.DisplayAccountsFragment;
|
import fr.gouv.etalab.mastodon.fragments.DisplayAccountsFragment;
|
||||||
import fr.gouv.etalab.mastodon.fragments.DisplayDraftsFragment;
|
import fr.gouv.etalab.mastodon.fragments.DisplayDraftsFragment;
|
||||||
|
@ -231,28 +229,7 @@ public abstract class BaseMainActivity extends AppCompatActivity
|
||||||
startSreaming(false);
|
startSreaming(false);
|
||||||
tabLayout.setTabGravity(TabLayout.GRAVITY_FILL);
|
tabLayout.setTabGravity(TabLayout.GRAVITY_FILL);
|
||||||
tabLayout.setTabMode(TabLayout.MODE_FIXED);
|
tabLayout.setTabMode(TabLayout.MODE_FIXED);
|
||||||
new Thread(new Runnable(){
|
|
||||||
@Override
|
|
||||||
public void run() {
|
|
||||||
try {
|
|
||||||
HashMap<String, String> parameters = new HashMap<>();
|
|
||||||
parameters.put("name", "mastodon.social");
|
|
||||||
final String response = new HttpsConnection().get("https://instances.social/api/1.0/instances/show", 30, parameters, Helper.THEKINRAR_SECRET_TOKEN );
|
|
||||||
Log.v(Helper.TAG,"resp: " + response);
|
|
||||||
runOnUiThread(new Runnable() {
|
|
||||||
public void run() {
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
} catch (HttpsConnection.HttpsConnectionException e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
} catch (Exception e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}).start();
|
|
||||||
tabLayout.addTab(tabHome);
|
tabLayout.addTab(tabHome);
|
||||||
tabLayout.addTab(tabNotif);
|
tabLayout.addTab(tabNotif);
|
||||||
if( display_local)
|
if( display_local)
|
||||||
|
|
|
@ -20,10 +20,14 @@ import android.content.Context;
|
||||||
import android.content.SharedPreferences;
|
import android.content.SharedPreferences;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.support.v7.app.AppCompatActivity;
|
import android.support.v7.app.AppCompatActivity;
|
||||||
import android.util.Log;
|
|
||||||
import android.view.MenuItem;
|
import android.view.MenuItem;
|
||||||
|
|
||||||
|
import org.json.JSONObject;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import fr.gouv.etalab.mastodon.R;
|
import fr.gouv.etalab.mastodon.R;
|
||||||
|
import fr.gouv.etalab.mastodon.client.API;
|
||||||
|
import fr.gouv.etalab.mastodon.client.Entities.InstanceSocial;
|
||||||
import fr.gouv.etalab.mastodon.client.HttpsConnection;
|
import fr.gouv.etalab.mastodon.client.HttpsConnection;
|
||||||
import fr.gouv.etalab.mastodon.helper.Helper;
|
import fr.gouv.etalab.mastodon.helper.Helper;
|
||||||
|
|
||||||
|
@ -35,7 +39,7 @@ import fr.gouv.etalab.mastodon.helper.Helper;
|
||||||
|
|
||||||
public class InstanceHealthActivity extends AppCompatActivity {
|
public class InstanceHealthActivity extends AppCompatActivity {
|
||||||
|
|
||||||
|
private InstanceSocial instanceSocial;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
|
@ -75,7 +79,8 @@ public class InstanceHealthActivity extends AppCompatActivity {
|
||||||
HashMap<String, String> parameters = new HashMap<>();
|
HashMap<String, String> parameters = new HashMap<>();
|
||||||
parameters.put("name", instance.trim());
|
parameters.put("name", instance.trim());
|
||||||
final String response = new HttpsConnection().get("https://instances.social/api/1.0/instances/show", 30, parameters, Helper.THEKINRAR_SECRET_TOKEN );
|
final String response = new HttpsConnection().get("https://instances.social/api/1.0/instances/show", 30, parameters, Helper.THEKINRAR_SECRET_TOKEN );
|
||||||
Log.v(Helper.TAG,"resp: " + response);
|
if( response != null)
|
||||||
|
instanceSocial = API.parseInstanceSocialResponse(getApplicationContext(), new JSONObject(response));
|
||||||
runOnUiThread(new Runnable() {
|
runOnUiThread(new Runnable() {
|
||||||
public void run() {
|
public void run() {
|
||||||
|
|
||||||
|
|
|
@ -1153,6 +1153,48 @@ public class API {
|
||||||
return results;
|
return results;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Parse json response an unique instance social result
|
||||||
|
* @param resobj JSONObject
|
||||||
|
* @return InstanceSocial
|
||||||
|
*/
|
||||||
|
public static InstanceSocial parseInstanceSocialResponse(Context context, JSONObject resobj){
|
||||||
|
|
||||||
|
InstanceSocial instanceSocial = new InstanceSocial();
|
||||||
|
try {
|
||||||
|
instanceSocial.setAdded_at(Helper.mstStringToDate(context, resobj.get("added_at").toString()));
|
||||||
|
instanceSocial.setChecked_at(Helper.mstStringToDate(context, resobj.get("checked_at").toString()));
|
||||||
|
instanceSocial.setUpdated_at(Helper.mstStringToDate(context, resobj.get("updated_at").toString()));
|
||||||
|
|
||||||
|
instanceSocial.setUptime(Float.parseFloat(resobj.get("uptime").toString()));
|
||||||
|
instanceSocial.setUp(Boolean.parseBoolean(resobj.get("up").toString()));
|
||||||
|
|
||||||
|
instanceSocial.setConnections(Long.parseLong(resobj.get("connections").toString()));
|
||||||
|
instanceSocial.setDead(Boolean.parseBoolean(resobj.get("dead").toString()));
|
||||||
|
instanceSocial.setHttps_rank(resobj.get("https_rank").toString());
|
||||||
|
instanceSocial.setHttps_score(Integer.parseInt(resobj.get("https_score").toString()));
|
||||||
|
instanceSocial.setId(resobj.get("id").toString());
|
||||||
|
|
||||||
|
instanceSocial.setInfo(resobj.get("info").toString());
|
||||||
|
instanceSocial.setVersion(resobj.get("version").toString());
|
||||||
|
instanceSocial.setName(resobj.get("name").toString());
|
||||||
|
instanceSocial.setObs_rank(resobj.get("obs_rank").toString());
|
||||||
|
instanceSocial.setThumbnail(resobj.get("thumbnail").toString());
|
||||||
|
instanceSocial.setIpv6(Boolean.parseBoolean(resobj.get("ipv6").toString()));
|
||||||
|
instanceSocial.setObs_score(Integer.parseInt(resobj.get("obs_score").toString()));
|
||||||
|
instanceSocial.setOpen_registrations(Boolean.parseBoolean(resobj.get("open_registrations").toString()));
|
||||||
|
|
||||||
|
instanceSocial.setUsers(Long.parseLong(resobj.get("users").toString()));
|
||||||
|
instanceSocial.setStatuses(Long.parseLong(resobj.get("statuses").toString()));
|
||||||
|
|
||||||
|
} catch (JSONException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
return instanceSocial;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Parse Tags
|
* Parse Tags
|
||||||
* @param jsonArray JSONArray
|
* @param jsonArray JSONArray
|
||||||
|
|
|
@ -0,0 +1,208 @@
|
||||||
|
/* Copyright 2017 Thomas Schneider
|
||||||
|
*
|
||||||
|
* This file is a part of Mastalab
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify it under the terms of the
|
||||||
|
* GNU General Public License as published by the Free Software Foundation; either version 3 of the
|
||||||
|
* License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* Mastalab is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even
|
||||||
|
* the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
|
||||||
|
* Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License along with Mastalab; if not,
|
||||||
|
* see <http://www.gnu.org/licenses>. */
|
||||||
|
package fr.gouv.etalab.mastodon.client.Entities;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Created by Thomas on 24/11/2017.
|
||||||
|
* Describes instance from instances.social
|
||||||
|
*/
|
||||||
|
|
||||||
|
public class InstanceSocial {
|
||||||
|
|
||||||
|
private String id;
|
||||||
|
private String name;
|
||||||
|
private Date added_at;
|
||||||
|
private Date updated_at;
|
||||||
|
private Date checked_at;
|
||||||
|
private float uptime;
|
||||||
|
private boolean up;
|
||||||
|
private boolean dead;
|
||||||
|
private String version;
|
||||||
|
private boolean ipv6;
|
||||||
|
private int https_score;
|
||||||
|
private String https_rank;
|
||||||
|
private int obs_score;
|
||||||
|
private String obs_rank;
|
||||||
|
private long users;
|
||||||
|
private long statuses;
|
||||||
|
private long connections;
|
||||||
|
private boolean open_registrations;
|
||||||
|
private String info;
|
||||||
|
private String thumbnail;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public String getVersion() {
|
||||||
|
return version;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setVersion(String version) {
|
||||||
|
this.version = version;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getId() {
|
||||||
|
return id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setId(String id) {
|
||||||
|
this.id = id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getName() {
|
||||||
|
return name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setName(String name) {
|
||||||
|
this.name = name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Date getAdded_at() {
|
||||||
|
return added_at;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setAdded_at(Date added_at) {
|
||||||
|
this.added_at = added_at;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Date getUpdated_at() {
|
||||||
|
return updated_at;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setUpdated_at(Date updated_at) {
|
||||||
|
this.updated_at = updated_at;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Date getChecked_at() {
|
||||||
|
return checked_at;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setChecked_at(Date checked_at) {
|
||||||
|
this.checked_at = checked_at;
|
||||||
|
}
|
||||||
|
|
||||||
|
public float getUptime() {
|
||||||
|
return uptime;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setUptime(float uptime) {
|
||||||
|
this.uptime = uptime;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isUp() {
|
||||||
|
return up;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setUp(boolean up) {
|
||||||
|
this.up = up;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isDead() {
|
||||||
|
return dead;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setDead(boolean dead) {
|
||||||
|
this.dead = dead;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isIpv6() {
|
||||||
|
return ipv6;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setIpv6(boolean ipv6) {
|
||||||
|
this.ipv6 = ipv6;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getHttps_score() {
|
||||||
|
return https_score;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setHttps_score(int https_score) {
|
||||||
|
this.https_score = https_score;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getHttps_rank() {
|
||||||
|
return https_rank;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setHttps_rank(String https_rank) {
|
||||||
|
this.https_rank = https_rank;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getObs_score() {
|
||||||
|
return obs_score;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setObs_score(int obs_score) {
|
||||||
|
this.obs_score = obs_score;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getObs_rank() {
|
||||||
|
return obs_rank;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setObs_rank(String obs_rank) {
|
||||||
|
this.obs_rank = obs_rank;
|
||||||
|
}
|
||||||
|
|
||||||
|
public long getUsers() {
|
||||||
|
return users;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setUsers(long users) {
|
||||||
|
this.users = users;
|
||||||
|
}
|
||||||
|
|
||||||
|
public long getStatuses() {
|
||||||
|
return statuses;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setStatuses(long statuses) {
|
||||||
|
this.statuses = statuses;
|
||||||
|
}
|
||||||
|
|
||||||
|
public long getConnections() {
|
||||||
|
return connections;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setConnections(long connections) {
|
||||||
|
this.connections = connections;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isOpen_registrations() {
|
||||||
|
return open_registrations;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setOpen_registrations(boolean open_registrations) {
|
||||||
|
this.open_registrations = open_registrations;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getInfo() {
|
||||||
|
return info;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setInfo(String info) {
|
||||||
|
this.info = info;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getThumbnail() {
|
||||||
|
return thumbnail;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setThumbnail(String thumbnail) {
|
||||||
|
this.thumbnail = thumbnail;
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue