forked from Disroot/disapp
parent
ef5591324e
commit
a516d2d699
|
@ -1,32 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<project version="4">
|
|
||||||
<component name="WizardSettings">
|
|
||||||
<option name="children">
|
|
||||||
<map>
|
|
||||||
<entry key="vectorWizard">
|
|
||||||
<value>
|
|
||||||
<PersistentState>
|
|
||||||
<option name="children">
|
|
||||||
<map>
|
|
||||||
<entry key="vectorAssetStep">
|
|
||||||
<value>
|
|
||||||
<PersistentState>
|
|
||||||
<option name="values">
|
|
||||||
<map>
|
|
||||||
<entry key="assetSourceType" value="FILE" />
|
|
||||||
<entry key="outputName" value="ic_settings" />
|
|
||||||
<entry key="sourceFile" value="$PROJECT_DIR$/../DisIcons/v2/ic_settings.svg" />
|
|
||||||
</map>
|
|
||||||
</option>
|
|
||||||
</PersistentState>
|
|
||||||
</value>
|
|
||||||
</entry>
|
|
||||||
</map>
|
|
||||||
</option>
|
|
||||||
</PersistentState>
|
|
||||||
</value>
|
|
||||||
</entry>
|
|
||||||
</map>
|
|
||||||
</option>
|
|
||||||
</component>
|
|
||||||
</project>
|
|
Binary file not shown.
Binary file not shown.
|
@ -1,116 +0,0 @@
|
||||||
<component name="ProjectCodeStyleConfiguration">
|
|
||||||
<code_scheme name="Project" version="173">
|
|
||||||
<codeStyleSettings language="XML">
|
|
||||||
<indentOptions>
|
|
||||||
<option name="CONTINUATION_INDENT_SIZE" value="4" />
|
|
||||||
</indentOptions>
|
|
||||||
<arrangement>
|
|
||||||
<rules>
|
|
||||||
<section>
|
|
||||||
<rule>
|
|
||||||
<match>
|
|
||||||
<AND>
|
|
||||||
<NAME>xmlns:android</NAME>
|
|
||||||
<XML_ATTRIBUTE />
|
|
||||||
<XML_NAMESPACE>^$</XML_NAMESPACE>
|
|
||||||
</AND>
|
|
||||||
</match>
|
|
||||||
</rule>
|
|
||||||
</section>
|
|
||||||
<section>
|
|
||||||
<rule>
|
|
||||||
<match>
|
|
||||||
<AND>
|
|
||||||
<NAME>xmlns:.*</NAME>
|
|
||||||
<XML_ATTRIBUTE />
|
|
||||||
<XML_NAMESPACE>^$</XML_NAMESPACE>
|
|
||||||
</AND>
|
|
||||||
</match>
|
|
||||||
<order>BY_NAME</order>
|
|
||||||
</rule>
|
|
||||||
</section>
|
|
||||||
<section>
|
|
||||||
<rule>
|
|
||||||
<match>
|
|
||||||
<AND>
|
|
||||||
<NAME>.*:id</NAME>
|
|
||||||
<XML_ATTRIBUTE />
|
|
||||||
<XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
|
|
||||||
</AND>
|
|
||||||
</match>
|
|
||||||
</rule>
|
|
||||||
</section>
|
|
||||||
<section>
|
|
||||||
<rule>
|
|
||||||
<match>
|
|
||||||
<AND>
|
|
||||||
<NAME>.*:name</NAME>
|
|
||||||
<XML_ATTRIBUTE />
|
|
||||||
<XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
|
|
||||||
</AND>
|
|
||||||
</match>
|
|
||||||
</rule>
|
|
||||||
</section>
|
|
||||||
<section>
|
|
||||||
<rule>
|
|
||||||
<match>
|
|
||||||
<AND>
|
|
||||||
<NAME>name</NAME>
|
|
||||||
<XML_ATTRIBUTE />
|
|
||||||
<XML_NAMESPACE>^$</XML_NAMESPACE>
|
|
||||||
</AND>
|
|
||||||
</match>
|
|
||||||
</rule>
|
|
||||||
</section>
|
|
||||||
<section>
|
|
||||||
<rule>
|
|
||||||
<match>
|
|
||||||
<AND>
|
|
||||||
<NAME>style</NAME>
|
|
||||||
<XML_ATTRIBUTE />
|
|
||||||
<XML_NAMESPACE>^$</XML_NAMESPACE>
|
|
||||||
</AND>
|
|
||||||
</match>
|
|
||||||
</rule>
|
|
||||||
</section>
|
|
||||||
<section>
|
|
||||||
<rule>
|
|
||||||
<match>
|
|
||||||
<AND>
|
|
||||||
<NAME>.*</NAME>
|
|
||||||
<XML_ATTRIBUTE />
|
|
||||||
<XML_NAMESPACE>^$</XML_NAMESPACE>
|
|
||||||
</AND>
|
|
||||||
</match>
|
|
||||||
<order>BY_NAME</order>
|
|
||||||
</rule>
|
|
||||||
</section>
|
|
||||||
<section>
|
|
||||||
<rule>
|
|
||||||
<match>
|
|
||||||
<AND>
|
|
||||||
<NAME>.*</NAME>
|
|
||||||
<XML_ATTRIBUTE />
|
|
||||||
<XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
|
|
||||||
</AND>
|
|
||||||
</match>
|
|
||||||
<order>ANDROID_ATTRIBUTE_ORDER</order>
|
|
||||||
</rule>
|
|
||||||
</section>
|
|
||||||
<section>
|
|
||||||
<rule>
|
|
||||||
<match>
|
|
||||||
<AND>
|
|
||||||
<NAME>.*</NAME>
|
|
||||||
<XML_ATTRIBUTE />
|
|
||||||
<XML_NAMESPACE>.*</XML_NAMESPACE>
|
|
||||||
</AND>
|
|
||||||
</match>
|
|
||||||
<order>BY_NAME</order>
|
|
||||||
</rule>
|
|
||||||
</section>
|
|
||||||
</rules>
|
|
||||||
</arrangement>
|
|
||||||
</codeStyleSettings>
|
|
||||||
</code_scheme>
|
|
||||||
</component>
|
|
|
@ -1,12 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<project version="4">
|
|
||||||
<component name="RunConfigurationProducerService">
|
|
||||||
<option name="ignoredProducers">
|
|
||||||
<set>
|
|
||||||
<option value="org.jetbrains.plugins.gradle.execution.test.runner.AllInPackageGradleConfigurationProducer" />
|
|
||||||
<option value="org.jetbrains.plugins.gradle.execution.test.runner.TestClassGradleConfigurationProducer" />
|
|
||||||
<option value="org.jetbrains.plugins.gradle.execution.test.runner.TestMethodGradleConfigurationProducer" />
|
|
||||||
</set>
|
|
||||||
</option>
|
|
||||||
</component>
|
|
||||||
</project>
|
|
|
@ -1,13 +1,13 @@
|
||||||
apply plugin: 'com.android.application'
|
apply plugin: 'com.android.application'
|
||||||
|
|
||||||
android {
|
android {
|
||||||
compileSdkVersion 28
|
compileSdk 32
|
||||||
defaultConfig {
|
defaultConfig {
|
||||||
applicationId "org.disroot.disrootapp"
|
applicationId "org.disroot.disrootapp"
|
||||||
minSdkVersion 16
|
minSdkVersion 16
|
||||||
targetSdkVersion 28
|
targetSdkVersion 32
|
||||||
versionCode 26
|
versionCode 27
|
||||||
versionName "2.0.3"
|
versionName "2.0.4"
|
||||||
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
|
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
|
||||||
}
|
}
|
||||||
buildTypes {
|
buildTypes {
|
||||||
|
@ -16,13 +16,14 @@ android {
|
||||||
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
|
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
namespace 'org.disroot.disrootapp'
|
||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation fileTree(dir: 'libs', include: ['*.jar'])
|
implementation fileTree(dir: 'libs', include: ['*.jar'])
|
||||||
//noinspection GradleCompatible
|
//noinspection GradleCompatible
|
||||||
implementation 'com.android.support:appcompat-v7:28.0.0'
|
implementation 'com.android.support:appcompat-v7:28.0.0'
|
||||||
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
|
implementation 'com.android.support.constraint:constraint-layout:2.0.4'
|
||||||
testImplementation 'junit:junit:4.12'
|
testImplementation 'junit:junit:4.12'
|
||||||
androidTestImplementation 'com.android.support.test:runner:1.0.2'
|
androidTestImplementation 'com.android.support.test:runner:1.0.2'
|
||||||
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
|
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
|
||||||
|
@ -46,9 +47,9 @@ repositories {
|
||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
|
implementation 'com.android.support.constraint:constraint-layout:2.0.4'
|
||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation 'com.android.support.constraint:constraint-layout:+'
|
implementation 'com.android.support.constraint:constraint-layout:2.0.4'
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
package="org.disroot.disrootapp">
|
|
||||||
|
|
||||||
<uses-permission android:name="android.permission.INTERNET" />
|
<uses-permission android:name="android.permission.INTERNET" />
|
||||||
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
|
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
|
||||||
|
@ -33,9 +32,10 @@
|
||||||
android:exported="false" />
|
android:exported="false" />
|
||||||
|
|
||||||
<activity
|
<activity
|
||||||
android:name=".ui.SplashScreenActivity"
|
android:name="org.disroot.disrootapp.ui.SplashScreenActivity"
|
||||||
android:configChanges="orientation|screenSize"
|
android:configChanges="orientation|screenSize"
|
||||||
android:label="@string/app_name">
|
android:label="@string/app_name"
|
||||||
|
android:exported="true">
|
||||||
<intent-filter>
|
<intent-filter>
|
||||||
<action android:name="android.intent.action.MAIN" />
|
<action android:name="android.intent.action.MAIN" />
|
||||||
|
|
||||||
|
@ -43,10 +43,11 @@
|
||||||
</intent-filter>
|
</intent-filter>
|
||||||
</activity>
|
</activity>
|
||||||
<activity
|
<activity
|
||||||
android:name=".ui.MainActivity"
|
android:name="org.disroot.disrootapp.ui.MainActivity"
|
||||||
android:configChanges="orientation|screenSize"
|
android:configChanges="orientation|screenSize"
|
||||||
android:hardwareAccelerated="true"
|
android:hardwareAccelerated="true"
|
||||||
android:label="@string/dashboard">
|
android:label="@string/dashboard"
|
||||||
|
android:exported="true">
|
||||||
<intent-filter>
|
<intent-filter>
|
||||||
<action android:name="android.intent.action.VIEW" />
|
<action android:name="android.intent.action.VIEW" />
|
||||||
|
|
||||||
|
@ -80,6 +81,10 @@
|
||||||
<data
|
<data
|
||||||
android:host="searx.disroot.org"
|
android:host="searx.disroot.org"
|
||||||
android:scheme="https" />
|
android:scheme="https" />
|
||||||
|
|
||||||
|
<data
|
||||||
|
android:host="status.disroot.org"
|
||||||
|
android:scheme="https" />
|
||||||
</intent-filter>
|
</intent-filter>
|
||||||
</activity>
|
</activity>
|
||||||
<activity
|
<activity
|
||||||
|
@ -101,6 +106,7 @@
|
||||||
android:theme="@style/DisTheme" />
|
android:theme="@style/DisTheme" />
|
||||||
<activity
|
<activity
|
||||||
android:name="wsdfhjxc.taponium.MainActivity"
|
android:name="wsdfhjxc.taponium.MainActivity"
|
||||||
|
android:exported="true"
|
||||||
android:label="@string/title_activity_tap"
|
android:label="@string/title_activity_tap"
|
||||||
android:screenOrientation="portrait">
|
android:screenOrientation="portrait">
|
||||||
<intent-filter>
|
<intent-filter>
|
||||||
|
|
|
@ -37,7 +37,7 @@ public class StatusService extends Service {
|
||||||
//status report
|
//status report
|
||||||
public SharedPreferences checkDate;
|
public SharedPreferences checkDate;
|
||||||
// URL to get data JSON
|
// URL to get data JSON
|
||||||
static String incidenturl0 ="https://state.disroot.org/api/v1/incidents?sort=id&order=desc";
|
static String incidenturl0 ="https://status.disroot.org/issues/index.json";
|
||||||
ArrayList<HashMap<String, String>> messageList;
|
ArrayList<HashMap<String, String>> messageList;
|
||||||
ArrayList<HashMap<String, String>> getDate;
|
ArrayList<HashMap<String, String>> getDate;
|
||||||
|
|
||||||
|
@ -85,13 +85,13 @@ public class StatusService extends Service {
|
||||||
if (jsonStrincidents0 != null) {//Incidaetnts page
|
if (jsonStrincidents0 != null) {//Incidaetnts page
|
||||||
try {
|
try {
|
||||||
JSONObject jsonObj = new JSONObject(jsonStrincidents0);
|
JSONObject jsonObj = new JSONObject(jsonStrincidents0);
|
||||||
JSONArray data = jsonObj.getJSONArray("data");
|
JSONArray data = jsonObj.getJSONArray("pages");
|
||||||
int a=0;
|
int a=0;
|
||||||
JSONObject o = data.getJSONObject(a);
|
JSONObject o = data.getJSONObject(a);
|
||||||
String callid = o.getString("id");
|
String title = o.getString("title");
|
||||||
String updated = o.getString("updated_at");
|
String updated = o.getString("lastMod");
|
||||||
HashMap<String, String> date = new HashMap<>();
|
HashMap<String, String> date = new HashMap<>();
|
||||||
date.put("id", callid);
|
date.put("title", title);
|
||||||
date.put("updated", updated);
|
date.put("updated", updated);
|
||||||
getDate.add(date);
|
getDate.add(date);
|
||||||
String stateDate = date.put( "updated", updated );
|
String stateDate = date.put( "updated", updated );
|
||||||
|
@ -100,7 +100,7 @@ public class StatusService extends Service {
|
||||||
assert dateStored != null;
|
assert dateStored != null;
|
||||||
if (dateStored.equals( "" ))
|
if (dateStored.equals( "" ))
|
||||||
{
|
{
|
||||||
checkDate.edit().putString( "storeDate", stateDate).apply();
|
checkDate.edit().putString( "storeDate", "stateDate").apply();
|
||||||
//return null;
|
//return null;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
@ -114,7 +114,7 @@ public class StatusService extends Service {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
Log.e(TAG, "updated json(service)");
|
Log.e(TAG, dateStored+"updated json(service)"+stateDate);
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
|
|
||||||
|
@ -139,24 +139,24 @@ public class StatusService extends Service {
|
||||||
HttpHandler sh = new HttpHandler();
|
HttpHandler sh = new HttpHandler();
|
||||||
String jsonStrincidents0 = sh.makeServiceCall(incidenturl0);
|
String jsonStrincidents0 = sh.makeServiceCall(incidenturl0);
|
||||||
JSONObject jsonObj = new JSONObject(jsonStrincidents0);
|
JSONObject jsonObj = new JSONObject(jsonStrincidents0);
|
||||||
JSONArray data = jsonObj.getJSONArray("data");
|
JSONArray data = jsonObj.getJSONArray("pages");
|
||||||
int a=0;
|
int a=0;
|
||||||
JSONObject o = data.getJSONObject(a);
|
JSONObject o = data.getJSONObject(a);
|
||||||
String name = o.getString( "name" );
|
String title = o.getString( "title" );
|
||||||
String message = o.getString( "message" );
|
String permalink = o.getString( "permalink" );
|
||||||
HashMap<String, String> date = new HashMap<>();
|
HashMap<String, String> date = new HashMap<>();
|
||||||
date.put("name", name);
|
date.put("title", title);
|
||||||
date.put("message", message);
|
date.put("permalink", permalink);
|
||||||
getDate.add(date);
|
getDate.add(date);
|
||||||
Log.e(TAG, "message: " + name);
|
Log.e(TAG, "message: " + title+" link "+permalink);
|
||||||
|
|
||||||
Intent goState = new Intent( StatusService.this, StateMessagesActivity.class);
|
Intent goState = new Intent( StatusService.this, StateMessagesActivity.class);
|
||||||
PendingIntent launchStateMessages = PendingIntent.getActivity(StatusService.this,0, goState, PendingIntent.FLAG_UPDATE_CURRENT);
|
@SuppressLint("UnspecifiedImmutableFlag") PendingIntent launchStateMessages = PendingIntent.getActivity(StatusService.this,0, goState, PendingIntent.FLAG_UPDATE_CURRENT);
|
||||||
|
|
||||||
NotificationManager notificationManager = (NotificationManager) this.getSystemService( Context.NOTIFICATION_SERVICE);
|
NotificationManager notificationManager = (NotificationManager) this.getSystemService( Context.NOTIFICATION_SERVICE);
|
||||||
NotificationCompat.InboxStyle inboxStyle = new NotificationCompat.InboxStyle();
|
NotificationCompat.InboxStyle inboxStyle = new NotificationCompat.InboxStyle();
|
||||||
|
|
||||||
inboxStyle.addLine(message);
|
inboxStyle.addLine(permalink);
|
||||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
||||||
// I would suggest that you use IMPORTANCE_DEFAULT instead of IMPORTANCE_HIGH
|
// I would suggest that you use IMPORTANCE_DEFAULT instead of IMPORTANCE_HIGH
|
||||||
NotificationChannel channel = new NotificationChannel(CHANNEL_ID, CHANNEL_NAME, NotificationManager.IMPORTANCE_HIGH);
|
NotificationChannel channel = new NotificationChannel(CHANNEL_ID, CHANNEL_NAME, NotificationManager.IMPORTANCE_HIGH);
|
||||||
|
@ -172,8 +172,8 @@ public class StatusService extends Service {
|
||||||
.setOngoing(true)
|
.setOngoing(true)
|
||||||
.setSmallIcon(R.drawable.ic_state)
|
.setSmallIcon(R.drawable.ic_state)
|
||||||
.setContentTitle( getString( R.string.NotificationTitle ) )
|
.setContentTitle( getString( R.string.NotificationTitle ) )
|
||||||
.setContentText(name)//get text Title from json :-)
|
.setContentText(title)//get text Title from json :-)
|
||||||
.setContentInfo(message)//get text message from json :-)
|
.setContentInfo(permalink)//get text message from json :-)
|
||||||
.setContentIntent(launchStateMessages);
|
.setContentIntent(launchStateMessages);
|
||||||
Uri alarmSound = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
|
Uri alarmSound = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
|
||||||
notificationBuilder.setSound(alarmSound)
|
notificationBuilder.setSound(alarmSound)
|
||||||
|
|
|
@ -1941,23 +1941,30 @@ public class MainActivity extends AppCompatActivity implements View.OnLongClickL
|
||||||
JSONObject jsonObj = new JSONObject(jsonStringcomponents);
|
JSONObject jsonObj = new JSONObject(jsonStringcomponents);
|
||||||
|
|
||||||
// Getting JSON Array node
|
// Getting JSON Array node
|
||||||
JSONArray data = jsonObj.getJSONArray("data");
|
JSONArray data = jsonObj.getJSONArray("systems");
|
||||||
|
|
||||||
// looping through All data
|
// looping through All data
|
||||||
for (int i = 0; i < data.length(); i++) {
|
for (int i = 0; i < data.length(); i++) {
|
||||||
JSONObject c = data.getJSONObject(i);
|
JSONObject c = data.getJSONObject(i);
|
||||||
|
|
||||||
String id = c.getString("id");
|
|
||||||
String name = c.getString("name");
|
|
||||||
String description = c.getString("description");
|
|
||||||
|
|
||||||
// tmp hash map for single service
|
|
||||||
HashMap<String, String> serviceDetails = new HashMap<>();
|
HashMap<String, String> serviceDetails = new HashMap<>();
|
||||||
|
|
||||||
|
//String id = c.getString("id");
|
||||||
|
String name = c.getString("name");
|
||||||
|
//String description = c.getString("description");
|
||||||
|
|
||||||
|
// tmp hash map for single service
|
||||||
|
|
||||||
// adding each child node to HashMap key => value
|
// adding each child node to HashMap key => value
|
||||||
serviceDetails.put("id", id);
|
//serviceDetails.put("id", id);
|
||||||
serviceDetails.put("name", name);
|
serviceDetails.put("name", name);
|
||||||
serviceDetails.put("description", description);
|
if (c.has("description")&&!c.isNull("description")){
|
||||||
|
String description = c.getString("description");
|
||||||
|
serviceDetails.put("description", description);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
serviceDetails.put("description", "No Description");
|
||||||
|
}
|
||||||
|
//serviceDetails.put("description", description);
|
||||||
|
|
||||||
// adding service to service list
|
// adding service to service list
|
||||||
componentList.add(serviceDetails);
|
componentList.add(serviceDetails);
|
||||||
|
@ -1998,7 +2005,11 @@ public class MainActivity extends AppCompatActivity implements View.OnLongClickL
|
||||||
HashMap<String, String> hashmap= (HashMap<String, String>) componentList.get(a);
|
HashMap<String, String> hashmap= (HashMap<String, String>) componentList.get(a);
|
||||||
String hash = hashmap.get("name");
|
String hash = hashmap.get("name");
|
||||||
switch (hash) {
|
switch (hash) {
|
||||||
case "Email Service":
|
case "Notes":
|
||||||
|
notes = hashmap.get("notes");
|
||||||
|
getNotes(notes);
|
||||||
|
break;
|
||||||
|
case "Mail Server":
|
||||||
email = hashmap.get("description");
|
email = hashmap.get("description");
|
||||||
getEmail(email);
|
getEmail(email);
|
||||||
break;
|
break;
|
||||||
|
@ -2010,14 +2021,10 @@ public class MainActivity extends AppCompatActivity implements View.OnLongClickL
|
||||||
forum = hashmap.get("description");
|
forum = hashmap.get("description");
|
||||||
getForum(forum);
|
getForum(forum);
|
||||||
break;
|
break;
|
||||||
case "Etherpad":
|
case "Pad":
|
||||||
etherpad = hashmap.get("description");
|
etherpad = hashmap.get("description");
|
||||||
getEtherpad(etherpad);
|
getEtherpad(etherpad);
|
||||||
break;
|
break;
|
||||||
case "Ethercalc":
|
|
||||||
ethercalc = hashmap.get("description");
|
|
||||||
getEthercalc(ethercalc);
|
|
||||||
break;
|
|
||||||
case "Bin":
|
case "Bin":
|
||||||
bin = hashmap.get("description");
|
bin = hashmap.get("description");
|
||||||
getBin(bin);
|
getBin(bin);
|
||||||
|
@ -2030,11 +2037,7 @@ public class MainActivity extends AppCompatActivity implements View.OnLongClickL
|
||||||
searx = hashmap.get("description");
|
searx = hashmap.get("description");
|
||||||
getSearx(searx);
|
getSearx(searx);
|
||||||
break;
|
break;
|
||||||
case "Polls":
|
case "Project board":
|
||||||
polls = hashmap.get("description");
|
|
||||||
getPolls(polls);
|
|
||||||
break;
|
|
||||||
case "Taiga":
|
|
||||||
taiga = hashmap.get("description");
|
taiga = hashmap.get("description");
|
||||||
getTaiga(taiga);
|
getTaiga(taiga);
|
||||||
break;
|
break;
|
||||||
|
@ -2042,15 +2045,11 @@ public class MainActivity extends AppCompatActivity implements View.OnLongClickL
|
||||||
user = hashmap.get("description");
|
user = hashmap.get("description");
|
||||||
getUser(user);
|
getUser(user);
|
||||||
break;
|
break;
|
||||||
case "XMPP":
|
case "XMPP Chat server":
|
||||||
xmpp = hashmap.get("description");
|
xmpp = hashmap.get("description");
|
||||||
getXmpp(xmpp);
|
getXmpp(xmpp);
|
||||||
break;
|
break;
|
||||||
case "Nextcloud Notes":
|
case "Git":
|
||||||
notes = hashmap.get("description");
|
|
||||||
getNotes(notes);
|
|
||||||
break;
|
|
||||||
case "Git Service":
|
|
||||||
git = hashmap.get("description");
|
git = hashmap.get("description");
|
||||||
getGit(git);
|
getGit(git);
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -39,8 +39,8 @@ public class StateActivity extends AppCompatActivity {
|
||||||
private ListView lv;
|
private ListView lv;
|
||||||
|
|
||||||
// URL to get data JSON
|
// URL to get data JSON
|
||||||
static String url = "https://state.disroot.org/api/v1/components?sort=status";
|
static String url = "https://status.disroot.org/index.json";
|
||||||
static String url1 = "https://state.disroot.org/api/v1/components?sort=status&page=2";
|
//static String url1 = "https://state.disroot.org/api/v1/components?sort=status&page=2";
|
||||||
|
|
||||||
ArrayList<HashMap<String, String>> stateList;
|
ArrayList<HashMap<String, String>> stateList;
|
||||||
|
|
||||||
|
@ -124,7 +124,7 @@ public class StateActivity extends AppCompatActivity {
|
||||||
|
|
||||||
// Making a request to url and getting response
|
// Making a request to url and getting response
|
||||||
String jsonStr0 = sh.makeServiceCall(url);
|
String jsonStr0 = sh.makeServiceCall(url);
|
||||||
String jsonStr1 = sh.makeServiceCall(url1);
|
//String jsonStr1 = sh.makeServiceCall(url1);
|
||||||
|
|
||||||
Log.e(TAG, "Response from url: " + jsonStr0);
|
Log.e(TAG, "Response from url: " + jsonStr0);
|
||||||
|
|
||||||
|
@ -133,28 +133,29 @@ public class StateActivity extends AppCompatActivity {
|
||||||
JSONObject jsonObj = new JSONObject(jsonStr0);
|
JSONObject jsonObj = new JSONObject(jsonStr0);
|
||||||
|
|
||||||
// Getting JSON Array node
|
// Getting JSON Array node
|
||||||
JSONArray data = jsonObj.getJSONArray("data");
|
JSONArray data = jsonObj.getJSONArray("systems");
|
||||||
|
|
||||||
// looping through All data
|
// looping through All data
|
||||||
for (int i = 0; i < data.length(); i++) {
|
for (int i = 0; i < data.length(); i++) {
|
||||||
JSONObject c = data.getJSONObject(i);
|
JSONObject c = data.getJSONObject(i);
|
||||||
|
HashMap<String, String> service = new HashMap<>();
|
||||||
|
if (c.has("description")&&!c.isNull("description")){
|
||||||
|
String description = c.getString("description");
|
||||||
|
service.put("description", description);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
service.put("description", "No Description");
|
||||||
|
}
|
||||||
|
|
||||||
String id = c.getString("id");
|
|
||||||
String name = c.getString("name");
|
String name = c.getString("name");
|
||||||
String description = c.getString("description");
|
String category = c.getString("category");
|
||||||
String updated_at = c.getString("updated_at");
|
String status = c.getString("status");
|
||||||
String lastUpdated = "Last Updated: " + updated_at + '"';
|
|
||||||
String status_name = c.getString("status_name");
|
|
||||||
|
|
||||||
// tmp hash map for single service
|
// tmp hash map for single service
|
||||||
HashMap<String, String> service = new HashMap<>();
|
|
||||||
|
|
||||||
// adding each child node to HashMap key => value
|
// adding each child node to HashMap key => value
|
||||||
service.put("id", id);
|
|
||||||
service.put("name", name);
|
service.put("name", name);
|
||||||
service.put("description", description);
|
service.put("category", category);
|
||||||
service.put("updated_at", lastUpdated);
|
service.put("status", status);
|
||||||
service.put("status_name", status_name);
|
|
||||||
|
|
||||||
// adding service to service list
|
// adding service to service list
|
||||||
stateList.add(service);
|
stateList.add(service);
|
||||||
|
@ -171,7 +172,7 @@ public class StateActivity extends AppCompatActivity {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}if (jsonStr1 != null) {//next page
|
}/*if (jsonStr1 != null) {//next page
|
||||||
try {
|
try {
|
||||||
JSONObject jsonObj = new JSONObject(jsonStr1);
|
JSONObject jsonObj = new JSONObject(jsonStr1);
|
||||||
|
|
||||||
|
@ -214,7 +215,7 @@ public class StateActivity extends AppCompatActivity {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}else {
|
}*/else {
|
||||||
Log.e(TAG, "Couldn't get json from server.");
|
Log.e(TAG, "Couldn't get json from server.");
|
||||||
runOnUiThread(new Runnable() {
|
runOnUiThread(new Runnable() {
|
||||||
@Override
|
@Override
|
||||||
|
@ -238,68 +239,32 @@ public class StateActivity extends AppCompatActivity {
|
||||||
|
|
||||||
//Updating parsed JSON data into ListView
|
//Updating parsed JSON data into ListView
|
||||||
ListAdapter adapter = new SimpleAdapter(
|
ListAdapter adapter = new SimpleAdapter(
|
||||||
StateActivity.this, stateList,
|
StateActivity.this, stateList, R.layout.list_item,
|
||||||
R.layout.list_item, new String[]{"name", "description", "updated_at",
|
new String[]{"name", "description", "category","status"},
|
||||||
"status_name"}, new int[]{R.id.name,
|
new int[]{R.id.name,R.id.description,R.id.lastMod, R.id.status_name})
|
||||||
R.id.description,R.id.updated_at, R.id.status_name})
|
|
||||||
|
|
||||||
//Change Color based on Status
|
//Change Color based on Status
|
||||||
{
|
{
|
||||||
@Override
|
@Override
|
||||||
public View getView(int position, View convertView, ViewGroup parent) {
|
public View getView(int position, View convertView, ViewGroup parent) {
|
||||||
View v = super.getView(position, convertView, parent);
|
View v = super.getView(position, convertView, parent);
|
||||||
//Name Email
|
|
||||||
TextView nameMail = v.findViewById(R.id.name);
|
|
||||||
String nameMailValue = nameMail.getText().toString();
|
|
||||||
switch (nameMailValue) {
|
|
||||||
case "Email Service":
|
|
||||||
nameMail.setText(R.string.EmailService);
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
//Name WebMail
|
|
||||||
TextView nameWebmail = v.findViewById(R.id.name);
|
|
||||||
String nameWebmailValue = nameWebmail.getText().toString();
|
|
||||||
switch (nameWebmailValue) {
|
|
||||||
case "WebMail Service":
|
|
||||||
nameWebmail.setText(R.string.WebmailService);
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
//Name Cloud
|
|
||||||
TextView nameCloud = v.findViewById(R.id.name);
|
|
||||||
String nameCloudValue = nameCloud.getText().toString();
|
|
||||||
switch (nameCloudValue) {
|
|
||||||
case "WebMail Service":
|
|
||||||
nameCloud.setText(R.string.Cloud);
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
//Make Last updated translatable
|
|
||||||
TextView updated = v.findViewById(R.id.updated_at);
|
|
||||||
String updatedValue = updated.getText().toString();
|
|
||||||
if (updatedValue.startsWith("Last Updated: ")){
|
|
||||||
updated.setText(updatedValue.replace("Last Updated: ",getText(R.string.LastUpdated)));
|
|
||||||
}
|
|
||||||
//Status
|
//Status
|
||||||
TextView status = v.findViewById(R.id.status_name);
|
TextView status = v.findViewById(R.id.status_name);
|
||||||
String statusValue = status.getText().toString();
|
String statusValue = status.getText().toString();
|
||||||
switch (statusValue) {
|
switch (statusValue) {
|
||||||
case "Operational":
|
case "ok":
|
||||||
status.setTextColor(Color.GREEN);
|
status.setTextColor(Color.GREEN);
|
||||||
status.setText(R.string.Operational);
|
status.setText(R.string.Operational);
|
||||||
break;
|
break;
|
||||||
case "Major Outage":
|
case "down":
|
||||||
status.setTextColor(Color.RED);
|
status.setTextColor(Color.RED);
|
||||||
status.setText(R.string.MajorOutage);
|
status.setText(R.string.down);
|
||||||
break;
|
break;
|
||||||
case "Performance Issues":
|
default:
|
||||||
status.setText(R.string.PerformanceIssues);
|
status.setTextColor(Color.RED);
|
||||||
status.setTextColor(Color.YELLOW);
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
}
|
}
|
||||||
return v;
|
return v;
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,6 +4,7 @@ import android.annotation.SuppressLint;
|
||||||
import android.app.ProgressDialog;
|
import android.app.ProgressDialog;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.graphics.Color;
|
import android.graphics.Color;
|
||||||
|
import android.net.Uri;
|
||||||
import android.os.AsyncTask;
|
import android.os.AsyncTask;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.support.v7.app.AppCompatActivity;
|
import android.support.v7.app.AppCompatActivity;
|
||||||
|
@ -37,7 +38,7 @@ public class StateMessagesActivity extends AppCompatActivity {
|
||||||
private ListView lv;
|
private ListView lv;
|
||||||
|
|
||||||
// URL to get data JSON
|
// URL to get data JSON
|
||||||
static String incidenturl0 ="https://state.disroot.org/api/v1/incidents?sort=id&order=desc";
|
static String incidenturl0 ="https://status.disroot.org/issues/index.json";
|
||||||
|
|
||||||
ArrayList<HashMap<String, String>> messageList;
|
ArrayList<HashMap<String, String>> messageList;
|
||||||
ArrayList<HashMap<String, String>> getDate;
|
ArrayList<HashMap<String, String>> getDate;
|
||||||
|
@ -125,31 +126,27 @@ public class StateMessagesActivity extends AppCompatActivity {
|
||||||
JSONObject jsonObj = new JSONObject(jsonStrincidents0);
|
JSONObject jsonObj = new JSONObject(jsonStrincidents0);
|
||||||
|
|
||||||
// Getting JSON Array node
|
// Getting JSON Array node
|
||||||
JSONArray data = jsonObj.getJSONArray("data");
|
JSONArray data = jsonObj.getJSONArray("pages");
|
||||||
|
|
||||||
// looping through All data
|
// looping through All data
|
||||||
for (int i = 0; i < data.length(); i++) {
|
for (int i = 0; i < data.length(); i++) {
|
||||||
JSONObject c = data.getJSONObject(i);
|
JSONObject c = data.getJSONObject(i);
|
||||||
|
|
||||||
String id = c.getString("id");
|
//String id = c.getString("id");
|
||||||
String name = c.getString("name");
|
String title = c.getString("title");
|
||||||
String message = c.getString("message");
|
String link = c.getString("permalink");
|
||||||
String scheduled_at = c.getString("scheduled_at");
|
Boolean resolved = c.getBoolean( "resolved" );
|
||||||
String scheduledAt = "Scheduled at: " + '"' + scheduled_at + '"';
|
String lastMod = c.getString("lastMod");
|
||||||
String updated_at = c.getString("updated_at");
|
String lastUpdated = "Last Updated: " + lastMod + '"';
|
||||||
String lastUpdated = "Last Updated: " + updated_at + '"';
|
|
||||||
String human_status = c.getString("human_status");
|
|
||||||
|
|
||||||
// tmp hash map for single service
|
// tmp hash map for single service
|
||||||
HashMap<String, String> service = new HashMap<>();
|
HashMap<String, String> service = new HashMap<>();
|
||||||
|
|
||||||
// adding each child node to HashMap key => value
|
// adding each child node to HashMap key => value
|
||||||
service.put("id", id);
|
service.put("title", title);
|
||||||
service.put("name", name);
|
service.put("moreInfo", link);
|
||||||
service.put("message", message);
|
service.put("resolved", resolved.toString());
|
||||||
service.put("scheduled_at", scheduledAt);
|
service.put("lastMod", lastUpdated);
|
||||||
service.put("updated_at", lastUpdated);
|
|
||||||
service.put("human_status", human_status);
|
|
||||||
|
|
||||||
// adding service to service list
|
// adding service to service list
|
||||||
messageList.add(service);
|
messageList.add(service);
|
||||||
|
@ -191,83 +188,55 @@ public class StateMessagesActivity extends AppCompatActivity {
|
||||||
//Updating parsed JSON data into ListView
|
//Updating parsed JSON data into ListView
|
||||||
ListAdapter adapter = new SimpleAdapter(
|
ListAdapter adapter = new SimpleAdapter(
|
||||||
StateMessagesActivity.this, messageList,
|
StateMessagesActivity.this, messageList,
|
||||||
R.layout.list_item, new String[]{"name","message", "updated_at", "scheduled_at", "human_status"}, new int[]{R.id.name, R.id.message,
|
R.layout.list_item, new String[]{"title","moreInfo", "lastMod", "resolved", "status"}, new int[]{R.id.name, R.id.message,
|
||||||
R.id.updated_at, R.id.scheduled_at, R.id.human_status})
|
R.id.lastMod, R.id.resolved, R.id.status})
|
||||||
|
|
||||||
//Change Color based on Status
|
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public View getView(int position, View convertView, ViewGroup parent) {
|
public View getView(int position, View convertView, ViewGroup parent) {
|
||||||
View v = super.getView(position, convertView, parent);
|
View v = super.getView(position, convertView, parent);
|
||||||
//Name Email
|
|
||||||
TextView nameMail = v.findViewById(R.id.name);
|
|
||||||
String nameMailValue = nameMail.getText().toString();
|
|
||||||
switch (nameMailValue) {
|
//Make links work
|
||||||
case "Email Service":
|
TextView link = v.findViewById( R.id.message );
|
||||||
nameMail.setText(R.string.EmailService);
|
String linkValue = link.getText().toString();
|
||||||
break;
|
link.setText( R.string.more_info);
|
||||||
default:
|
v.setOnClickListener(new View.OnClickListener() {
|
||||||
break;
|
|
||||||
}
|
public void onClick(View arg0) {
|
||||||
//Name WebMail
|
|
||||||
TextView nameWebmail = v.findViewById(R.id.name);
|
Uri uri = Uri.parse( linkValue);
|
||||||
String nameWebmailValue = nameWebmail.getText().toString();
|
Intent statusLink = new Intent(Intent.ACTION_VIEW, Uri.parse(String.valueOf(uri)));
|
||||||
switch (nameWebmailValue) {
|
startActivity(statusLink);
|
||||||
case "WebMail Service":
|
}
|
||||||
nameWebmail.setText(R.string.WebmailService);
|
|
||||||
break;
|
});
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
//Name Cloud
|
|
||||||
TextView nameCloud = v.findViewById(R.id.name);
|
|
||||||
String nameCloudValue = nameCloud.getText().toString();
|
|
||||||
switch (nameCloudValue) {
|
|
||||||
case "WebMail Service":
|
|
||||||
nameCloud.setText(R.string.Cloud);
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
//Make Last updated translatable
|
//Make Last updated translatable
|
||||||
TextView updated = v.findViewById(R.id.updated_at);
|
TextView updated = v.findViewById(R.id.lastMod );
|
||||||
String updatedValue = updated.getText().toString();
|
String updatedValue = updated.getText().toString();
|
||||||
if (updatedValue.startsWith("Last Updated: ")){
|
if (updatedValue.startsWith("Last Updated: ")){
|
||||||
updated.setText(updatedValue.replace("Last Updated: ",getText(R.string.LastUpdated)));
|
updated.setText(updatedValue.replace("Last Updated: ",getText(R.string.LastUpdated)));
|
||||||
}
|
}
|
||||||
//Make Scheduled at translatable
|
//Make Scheduled at translatable
|
||||||
TextView scheduled = v.findViewById(R.id.scheduled_at);
|
TextView resolved = v.findViewById(R.id.resolved );
|
||||||
String scheduledValue = scheduled.getText().toString();
|
String resolvedValue = resolved.getText().toString();
|
||||||
if (scheduledValue.startsWith("Scheduled at: ")){
|
|
||||||
scheduled.setText(scheduledValue.replace("Scheduled at: ",getText(R.string.ScheduledAt)));
|
|
||||||
}
|
|
||||||
//Human_status
|
//Human_status
|
||||||
TextView humanStatus = v.findViewById(R.id.human_status);
|
TextView humanStatus = v.findViewById(R.id.status );
|
||||||
String humanStatusValue = humanStatus.getText().toString();
|
String humanStatusValue = humanStatus.getText().toString();
|
||||||
switch (humanStatusValue) {
|
Log.e("status", "status: "+humanStatusValue);
|
||||||
case "Fixed":
|
switch (resolvedValue) {
|
||||||
|
case "true":
|
||||||
humanStatus.setTextColor(Color.GREEN);
|
humanStatus.setTextColor(Color.GREEN);
|
||||||
humanStatus.setText(R.string.Fixed);
|
humanStatus.setText(R.string.Fixed);
|
||||||
scheduled.setVisibility(View.GONE );
|
resolved.setVisibility(View.GONE );
|
||||||
break;
|
break;
|
||||||
case "Scheduled":
|
case "false":
|
||||||
humanStatus.setTextColor(Color.YELLOW);
|
|
||||||
humanStatus.setText(R.string.Scheduled);
|
|
||||||
scheduled.setVisibility(View.VISIBLE );
|
|
||||||
break;
|
|
||||||
case "Investigating":
|
|
||||||
humanStatus.setTextColor(Color.RED);
|
humanStatus.setTextColor(Color.RED);
|
||||||
scheduled.setVisibility(View.GONE );
|
humanStatus.setText(R.string.down);
|
||||||
break;
|
resolved.setVisibility(View.GONE );
|
||||||
case "Watching":
|
|
||||||
scheduled.setVisibility(View.GONE );
|
|
||||||
humanStatus.setTextColor(Color.YELLOW);
|
|
||||||
humanStatus.setText(R.string.Investigating);
|
|
||||||
break;
|
|
||||||
case "Identified":
|
|
||||||
scheduled.setVisibility(View.GONE );
|
|
||||||
humanStatus.setTextColor(Color.RED);
|
|
||||||
humanStatus.setText(R.string.Identified);
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
return v;
|
return v;
|
||||||
|
|
|
@ -71,5 +71,5 @@ public class Constants {
|
||||||
public static final int INPUT_FILE_REQUEST_CODE = 1;//file upload
|
public static final int INPUT_FILE_REQUEST_CODE = 1;//file upload
|
||||||
public static final int FILECHOOSER_RESULTCODE = 1;//file upload
|
public static final int FILECHOOSER_RESULTCODE = 1;//file upload
|
||||||
public static final String TAG = MainActivity.class.getSimpleName();
|
public static final String TAG = MainActivity.class.getSimpleName();
|
||||||
public static final String components = "https://state.disroot.org/api/v1/components?per_page=40";
|
public static final String components = "https://status.disroot.org/index.json";
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
android:paddingBottom="@dimen/activity_vertical_margin"
|
android:paddingBottom="@dimen/activity_vertical_margin"
|
||||||
android:paddingLeft="@dimen/activity_horizontal_margin"
|
android:paddingLeft="@dimen/activity_horizontal_margin"
|
||||||
android:paddingRight="@dimen/activity_horizontal_margin"
|
android:paddingRight="@dimen/activity_horizontal_margin"
|
||||||
tools:context="org.disroot.disrootapp.ui.AboutActivity$AboutFragment">
|
tools:context="org.disroot.disrootapp.ui.AboutActivity">
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
android:layout_marginBottom="@dimen/activity_vertical_margin"
|
android:layout_marginBottom="@dimen/activity_vertical_margin"
|
||||||
android:layout_marginLeft="@dimen/activity_horizontal_margin"
|
android:layout_marginLeft="@dimen/activity_horizontal_margin"
|
||||||
android:layout_marginRight="@dimen/activity_horizontal_margin"
|
android:layout_marginRight="@dimen/activity_horizontal_margin"
|
||||||
tools:context="org.disroot.disrootapp.ui.AboutActivity$HelpFragment">
|
tools:context="org.disroot.disrootapp.ui.AboutActivity">
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
android:layout_marginLeft="@dimen/activity_horizontal_margin"
|
android:layout_marginLeft="@dimen/activity_horizontal_margin"
|
||||||
android:layout_marginRight="@dimen/activity_horizontal_margin"
|
android:layout_marginRight="@dimen/activity_horizontal_margin"
|
||||||
android:paddingBottom="@dimen/activity_horizontal_margin"
|
android:paddingBottom="@dimen/activity_horizontal_margin"
|
||||||
tools:context="org.disroot.disrootapp.ui.AboutActivity$LicenseFragment">
|
tools:context="org.disroot.disrootapp.ui.AboutActivity">
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
|
|
|
@ -23,7 +23,7 @@
|
||||||
android:textColor="#ffffff" />
|
android:textColor="#ffffff" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/updated_at"
|
android:id="@+id/lastMod"
|
||||||
android:layout_width="fill_parent"
|
android:layout_width="fill_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:paddingBottom="2dip"
|
android:paddingBottom="2dip"
|
||||||
|
@ -43,13 +43,13 @@
|
||||||
android:textColor="#ffffff" />
|
android:textColor="#ffffff" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/scheduled_at"
|
android:id="@+id/resolved"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:textColor="#ffffff" />
|
android:textColor="#ffffff" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/human_status"
|
android:id="@+id/status"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:textColor="#ffffff" />
|
android:textColor="#ffffff" />
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
<resources>
|
<resources xmlns:tools="http://schemas.android.com/tools">
|
||||||
<string name="app_name">Disroot App</string>
|
<string name="app_name">Disroot App</string>
|
||||||
<string name="action_home">Home</string>
|
<string name="action_home">Home</string>
|
||||||
<string name="action_mail">Mail</string>
|
<string name="action_mail">Mail</string>
|
||||||
|
@ -67,7 +67,7 @@
|
||||||
<string name="SpreadTheWordBtn">Share the app</string>
|
<string name="SpreadTheWordBtn">Share the app</string>
|
||||||
<string name="DisrootWeb">Disroot web</string>
|
<string name="DisrootWeb">Disroot web</string>
|
||||||
<string name="FirstTitle">Last couple of things!</string>
|
<string name="FirstTitle">Last couple of things!</string>
|
||||||
<string name="FirstInfo">• By doing a long press on each icon you can get extra information… \n\n• The app can sync with the status page of Disroot. This means that you will receive realtime updates on issues, downtimes, scheduled maintenace and others published via https://state.disroot.org\nWe recommend to turn off battery optimization and allow Disroot app to run in the background. If you\'re not sure, you can always change the setting from the Disroot app menu later.</string>
|
<string name="FirstInfo">• By doing a long press on each icon you can get extra information… \n\n• The app can sync with the status page of Disroot. This means that you will receive realtime updates on issues, downtimes, scheduled maintenace and others published via https://status.disroot.org\nWe recommend to turn off battery optimization and allow Disroot app to run in the background. If you\'re not sure, you can always change the setting from the Disroot app menu later.</string>
|
||||||
<string name="DiasporaTitle">Diaspora* Settings</string>
|
<string name="DiasporaTitle">Diaspora* Settings</string>
|
||||||
<string name="DiasporaInfo">Distributed and decentralized social network. Post, share, like, create communities.\n\nUsername:\n your_diaspora_username@pod.disroot.org\n\nPassword:\n your_diaspora_password</string>
|
<string name="DiasporaInfo">Distributed and decentralized social network. Post, share, like, create communities.\n\nUsername:\n your_diaspora_username@pod.disroot.org\n\nPassword:\n your_diaspora_password</string>
|
||||||
<string name="PadInfo">With Etherpad write articles, press releases, to-do lists, etc. together with friends, fellow students or colleagues, all working on the same document at the same time.\nNo registration is required.</string>
|
<string name="PadInfo">With Etherpad write articles, press releases, to-do lists, etc. together with friends, fellow students or colleagues, all working on the same document at the same time.\nNo registration is required.</string>
|
||||||
|
@ -175,4 +175,6 @@
|
||||||
<string name="translatorsTitle">Translators:</string>
|
<string name="translatorsTitle">Translators:</string>
|
||||||
<string name="artworksTitle">Artwork:</string>
|
<string name="artworksTitle">Artwork:</string>
|
||||||
<string name="Fixed">Risolto</string>
|
<string name="Fixed">Risolto</string>
|
||||||
|
<string name="down" tools:ignore="MissingTranslation">Down!</string>
|
||||||
|
<string name="more_info" tools:ignore="MissingTranslation">Tippen Sie für weitere Informationen</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
|
|
@ -1,6 +1,10 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<changelog>
|
<changelog>
|
||||||
<release version="2.0.3" versioncode="26" >
|
<release version="2.0.4" versioncode="27" >
|
||||||
|
<change>Migration to new cState "https://status.disroot.org"</change>
|
||||||
|
<change>Updated SDK and gradle</change>
|
||||||
|
</release>
|
||||||
|
<release version="2.0.4" versioncode="27" >
|
||||||
<change>Changed to new git repo</change>
|
<change>Changed to new git repo</change>
|
||||||
<change>Updated Constant variables with new git URL</change>
|
<change>Updated Constant variables with new git URL</change>
|
||||||
</release>
|
</release>
|
||||||
|
|
|
@ -6,7 +6,7 @@ buildscript {
|
||||||
jcenter()
|
jcenter()
|
||||||
}
|
}
|
||||||
dependencies {
|
dependencies {
|
||||||
classpath 'com.android.tools.build:gradle:3.2.1'
|
classpath 'com.android.tools.build:gradle:7.3.0'
|
||||||
|
|
||||||
// NOTE: Do not place your application dependencies here; they belong
|
// NOTE: Do not place your application dependencies here; they belong
|
||||||
// in the individual module build.gradle files
|
// in the individual module build.gradle files
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
|
#Fri Oct 28 07:31:51 CEST 2022
|
||||||
distributionBase=GRADLE_USER_HOME
|
distributionBase=GRADLE_USER_HOME
|
||||||
|
distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-bin.zip
|
||||||
distributionPath=wrapper/dists
|
distributionPath=wrapper/dists
|
||||||
distributionSha256Sum=9af7345c199f1731c187c96d3fe3d31f5405192a42046bafa71d846c3d9adacb
|
|
||||||
distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-bin.zip
|
|
||||||
zipStoreBase=GRADLE_USER_HOME
|
|
||||||
zipStorePath=wrapper/dists
|
zipStorePath=wrapper/dists
|
||||||
|
zipStoreBase=GRADLE_USER_HOME
|
||||||
|
|
Loading…
Reference in New Issue