diff --git a/README.md b/README.md
index 56ab393..3744595 100644
--- a/README.md
+++ b/README.md
@@ -10,7 +10,7 @@
It also can be used to access all the **Disroot** services that do not require an account:
* Etherpad
-* Ethercalc
+* Cryptpad
* Calls
* Private bin
* Upload
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index a8a7df7..9bc455a 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -64,14 +64,11 @@
android:host="forum.disroot.org"
android:scheme="https" />
-
diff --git a/app/src/main/java/org/disroot/disrootapp/StatusBroadcastReceiver.java b/app/src/main/java/org/disroot/disrootapp/StatusBroadcastReceiver.java
index fb9d2c3..cc3703b 100644
--- a/app/src/main/java/org/disroot/disrootapp/StatusBroadcastReceiver.java
+++ b/app/src/main/java/org/disroot/disrootapp/StatusBroadcastReceiver.java
@@ -1,11 +1,13 @@
package org.disroot.disrootapp;
+import android.annotation.SuppressLint;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
public class StatusBroadcastReceiver extends BroadcastReceiver {
+ @SuppressLint("UnsafeProtectedBroadcastReceiver")
@Override
public void onReceive(Context context, Intent intent) {
diff --git a/app/src/main/java/org/disroot/disrootapp/StatusService.java b/app/src/main/java/org/disroot/disrootapp/StatusService.java
index 9420321..15e3cf4 100644
--- a/app/src/main/java/org/disroot/disrootapp/StatusService.java
+++ b/app/src/main/java/org/disroot/disrootapp/StatusService.java
@@ -37,7 +37,7 @@ public class StatusService extends Service {
//status report
public SharedPreferences checkDate;
// URL to get data JSON
- static String incidenturl0 ="https://status.disroot.org/issues/index.json";
+ static String incidentUrl0 ="https://status.disroot.org/issues/index.json";
ArrayList> messageList;
ArrayList> getDate;
@@ -78,13 +78,13 @@ public class StatusService extends Service {
protected Void doInBackground(Void... arg0) {
HttpHandler sh = new HttpHandler();
- String jsonStrincidents0 = sh.makeServiceCall(incidenturl0);
+ String jsonStringIdents0 = sh.makeServiceCall( incidentUrl0 );
- Log.e(TAG, "Response from url(Service): " + incidenturl0);
+ Log.e(TAG, "Response from url(Service): " + incidentUrl0 );
- if (jsonStrincidents0 != null) {//Incidaetnts page
+ if (jsonStringIdents0 != null) {//Incidents page
try {
- JSONObject jsonObj = new JSONObject(jsonStrincidents0);
+ JSONObject jsonObj = new JSONObject(jsonStringIdents0);
JSONArray data = jsonObj.getJSONArray("pages");
int a=0;
JSONObject o = data.getJSONObject(a);
@@ -114,7 +114,7 @@ public class StatusService extends Service {
return null;
}
else
- Log.e(TAG, dateStored+"updated json(service)"+stateDate);
+ Log.e(TAG, stateDate+"updated json(service)"+dateStored);
}
return null;
@@ -137,8 +137,8 @@ public class StatusService extends Service {
String CHANNEL_ID = "3168654312";
String CHANNEL_NAME = "StateNotification";
HttpHandler sh = new HttpHandler();
- String jsonStrincidents0 = sh.makeServiceCall(incidenturl0);
- JSONObject jsonObj = new JSONObject(jsonStrincidents0);
+ String jsonStringIdents0 = sh.makeServiceCall( incidentUrl0 );
+ JSONObject jsonObj = new JSONObject(jsonStringIdents0);
JSONArray data = jsonObj.getJSONArray("pages");
int a=0;
JSONObject o = data.getJSONObject(a);
diff --git a/app/src/main/java/org/disroot/disrootapp/ui/AboutActivity.java b/app/src/main/java/org/disroot/disrootapp/ui/AboutActivity.java
index 072429e..de2cd3c 100644
--- a/app/src/main/java/org/disroot/disrootapp/ui/AboutActivity.java
+++ b/app/src/main/java/org/disroot/disrootapp/ui/AboutActivity.java
@@ -1,6 +1,7 @@
package org.disroot.disrootapp.ui;
+import android.annotation.SuppressLint;
import android.content.Intent;
import android.net.Uri;
import android.os.Build;
@@ -43,12 +44,7 @@ public class AboutActivity extends AppCompatActivity {
Toolbar toolbar = findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
toolbar.setNavigationIcon(R.drawable.ic_arrow_back);
- toolbar.setNavigationOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- onBackPressed();
- }
- });
+ toolbar.setNavigationOnClickListener( v -> onBackPressed() );
// Create the adapter that will return a fragment for each of the three
// primary sections of the activity.
/*
@@ -59,7 +55,7 @@ public class AboutActivity extends AppCompatActivity {
may be best to switch to a
{@link android.support.v4.app.FragmentStatePagerAdapter}.
*/
- SectionsPagerAdapter mSectionsPagerAdapter = new SectionsPagerAdapter(getSupportFragmentManager());
+ SectionsPagerAdapter mSectionsPagerAdapter = new SectionsPagerAdapter( getSupportFragmentManager() );
// Set up the ViewPager with the sections adapter.
/*
@@ -74,16 +70,11 @@ public class AboutActivity extends AppCompatActivity {
tabLayout.addOnTabSelectedListener(new TabLayout.ViewPagerOnTabSelectedListener(mViewPager));
FloatingActionButton fab = findViewById(R.id.fab);
- fab.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- Uri uri = Uri.parse(Constants.URL_SUPPORT);
- Intent support = new Intent(Intent.ACTION_VIEW, Uri.parse(String.valueOf(uri)));
- startActivity(support);
- // Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
- // .setAction("Action", null).show();
- }
- });
+ fab.setOnClickListener( view -> {
+ Uri uri = Uri.parse(Constants.URL_SUPPORT);
+ Intent support = new Intent(Intent.ACTION_VIEW, Uri.parse(String.valueOf(uri)));
+ startActivity(support);
+ } );
}
@@ -137,6 +128,7 @@ public class AboutActivity extends AppCompatActivity {
return fragment;
}
+ @SuppressLint("SetTextI18n")
@Override
public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
@@ -151,67 +143,49 @@ public class AboutActivity extends AppCompatActivity {
final Button ContributeBtn = rootView.findViewById(R.id.ContributeBtn);//ContributeBtn
- ContributeBtn.setOnClickListener(new View.OnClickListener()
- {
- public void onClick(View arg0) {
- Uri uri = Uri.parse(Constants.URL_SOURCE);
- Intent code = new Intent(Intent.ACTION_VIEW, Uri.parse(String.valueOf(uri)));
- startActivity(code);
- }
- });
+ ContributeBtn.setOnClickListener( arg0 -> {
+ Uri uri = Uri.parse(Constants.URL_SOURCE);
+ Intent code = new Intent(Intent.ACTION_VIEW, Uri.parse(String.valueOf(uri)));
+ startActivity(code);
+ } );
final Button TranslateBtn = rootView.findViewById(R.id.TranslateBtn);//TranslateBtn
- TranslateBtn.setOnClickListener(new View.OnClickListener()
- {
- public void onClick(View arg0) {
- Uri uri = Uri.parse(Constants.URL_TRANSLATE);
- Intent translate = new Intent(Intent.ACTION_VIEW, Uri.parse(String.valueOf(uri)));
- startActivity(translate);
- }
- });
+ TranslateBtn.setOnClickListener( arg0 -> {
+ Uri uri = Uri.parse(Constants.URL_TRANSLATE);
+ Intent translate = new Intent(Intent.ACTION_VIEW, Uri.parse(String.valueOf(uri)));
+ startActivity(translate);
+ } );
final Button FeedbackBtn1;//FeedbackBtn1
FeedbackBtn1 = rootView.findViewById(R.id.FeedbackBtn1);
- FeedbackBtn1.setOnClickListener(new View.OnClickListener()
- {
- public void onClick(View arg0) {
- Uri uri = Uri.parse(Constants.URL_BUGS);
- Intent feedback1 = new Intent(Intent.ACTION_VIEW, Uri.parse(String.valueOf(uri)));
- startActivity(feedback1);
- }
- });
+ FeedbackBtn1.setOnClickListener( arg0 -> {
+ Uri uri = Uri.parse(Constants.URL_BUGS);
+ Intent feedback1 = new Intent(Intent.ACTION_VIEW, Uri.parse(String.valueOf(uri)));
+ startActivity(feedback1);
+ } );
final Button FeedbackBtn2 = rootView.findViewById(R.id.FeedbackBtn2);//FeedbackBtn2
- FeedbackBtn2.setOnClickListener(new View.OnClickListener()
- {
- public void onClick(View arg0) {
- Uri uri = Uri.parse(Constants.URL_XMPP);
- Intent feedback2 = new Intent(Intent.ACTION_VIEW, Uri.parse(String.valueOf(uri)));
- startActivity(feedback2);
- }
- });
+ FeedbackBtn2.setOnClickListener( arg0 -> {
+ Uri uri = Uri.parse(Constants.URL_XMPP);
+ Intent feedback2 = new Intent(Intent.ACTION_VIEW, Uri.parse(String.valueOf(uri)));
+ startActivity(feedback2);
+ } );
break;
case 2:
rootView = inflater.inflate(R.layout.fragment_about_about, container, false);
final ImageButton fDroidBtn = rootView.findViewById(R.id.fDroidBtn);//fDroidBtn
- fDroidBtn.setOnClickListener(new View.OnClickListener()
- {
- public void onClick(View arg0) {
- Uri uri = Uri.parse(Constants.URL_FDROID);
- Intent fDroid = new Intent(Intent.ACTION_VIEW, Uri.parse(String.valueOf(uri)));
- startActivity(fDroid);
- }
- });
+ fDroidBtn.setOnClickListener( arg0 -> {
+ Uri uri = Uri.parse(Constants.URL_FDROID);
+ Intent fDroid = new Intent(Intent.ACTION_VIEW, Uri.parse(String.valueOf(uri)));
+ startActivity(fDroid);
+ } );
final ImageButton homeBtn;//DisrootBtn
homeBtn = rootView.findViewById(R.id.homeBtn);
- homeBtn.setOnClickListener(new View.OnClickListener()
- {
- public void onClick(View arg0) {
- Uri uri = Uri.parse(Constants.URL_DISROOT);
- Intent home = new Intent(Intent.ACTION_VIEW, Uri.parse(String.valueOf(uri)));
- startActivity(home);
- }
- });
+ homeBtn.setOnClickListener( arg0 -> {
+ Uri uri = Uri.parse(Constants.URL_DISROOT);
+ Intent home = new Intent(Intent.ACTION_VIEW, Uri.parse(String.valueOf(uri)));
+ startActivity(home);
+ } );
final TextView PackageName= rootView.findViewById(R.id.PackageName);
PackageName.setText(getString( R.string.id ) + " "+ APPLICATION_ID);
@@ -229,13 +203,13 @@ public class AboutActivity extends AppCompatActivity {
rootView = inflater.inflate(R.layout.fragment_about_license, container, false);
//Contributors
//Admins
- final TextView contr_text;
- contr_text = rootView.findViewById(R.id.admins_text);
- contr_text.setMovementMethod( LinkMovementMethod.getInstance());
+ final TextView contributors_text;
+ contributors_text = rootView.findViewById(R.id.admins_text);
+ contributors_text.setMovementMethod( LinkMovementMethod.getInstance());
String admins="";
for(String admin: Contributors.admins) {
admins+="• "+admin+" ";
- contr_text.setText( Html.fromHtml(admins));
+ contributors_text.setText( Html.fromHtml(admins));
}
//devs
final TextView devs_text;
@@ -268,34 +242,25 @@ public class AboutActivity extends AppCompatActivity {
//Buttons
final Button licenseBtn;//LicenseBtn
licenseBtn = rootView.findViewById(R.id.license_button);
- licenseBtn.setOnClickListener(new View.OnClickListener()
- {
- public void onClick(View arg0) {
- Uri uri = Uri.parse(Constants.URL_LICENSE);
- Intent license = new Intent(Intent.ACTION_VIEW, Uri.parse(String.valueOf(uri)));
- startActivity(license);
- }
- });
+ licenseBtn.setOnClickListener( arg0 -> {
+ Uri uri = Uri.parse(Constants.URL_LICENSE);
+ Intent license = new Intent(Intent.ACTION_VIEW, Uri.parse(String.valueOf(uri)));
+ startActivity(license);
+ } );
final TextView disrootBtn;//DisrootBtn
disrootBtn = rootView.findViewById(R.id.disrootUrl);
- disrootBtn.setOnClickListener(new View.OnClickListener()
- {
- public void onClick(View arg0) {
- Uri uri = Uri.parse(Constants.URL_DISROOT);
- Intent disroot = new Intent(Intent.ACTION_VIEW, Uri.parse(String.valueOf(uri)));
- startActivity(disroot);
- }
- });
- final TextView dioBtn;//DiotBtn
+ disrootBtn.setOnClickListener( arg0 -> {
+ Uri uri = Uri.parse(Constants.URL_DISROOT);
+ Intent disroot = new Intent(Intent.ACTION_VIEW, Uri.parse(String.valueOf(uri)));
+ startActivity(disroot);
+ } );
+ final TextView dioBtn;//DioBtn
dioBtn = rootView.findViewById(R.id.dioBtn);
- dioBtn.setOnClickListener(new View.OnClickListener()
- {
- public void onClick(View arg0) {
- Uri uri = Uri.parse(Constants.URL_DIO);
- Intent dio = new Intent(Intent.ACTION_VIEW, Uri.parse(String.valueOf(uri)));
- startActivity(dio);
- }
- });
+ dioBtn.setOnClickListener( arg0 -> {
+ Uri uri = Uri.parse(Constants.URL_DIO);
+ Intent dio = new Intent(Intent.ACTION_VIEW, Uri.parse(String.valueOf(uri)));
+ startActivity(dio);
+ } );
final TextView htmlToTextView = rootView.findViewById(R.id.ThirdParty);// textview links clickable
htmlToTextView.setMovementMethod( LinkMovementMethod.getInstance());// textview links clickable
break;
@@ -308,7 +273,7 @@ public class AboutActivity extends AppCompatActivity {
* A {@link FragmentPagerAdapter} that returns a fragment corresponding to
* one of the sections/tabs/pages.
*/
- public class SectionsPagerAdapter extends FragmentPagerAdapter {
+ public static class SectionsPagerAdapter extends FragmentPagerAdapter {
final FragmentManager fm;
diff --git a/app/src/main/java/org/disroot/disrootapp/ui/MainActivity.java b/app/src/main/java/org/disroot/disrootapp/ui/MainActivity.java
index e54befe..4274b71 100644
--- a/app/src/main/java/org/disroot/disrootapp/ui/MainActivity.java
+++ b/app/src/main/java/org/disroot/disrootapp/ui/MainActivity.java
@@ -92,8 +92,8 @@ public class MainActivity extends AppCompatActivity implements View.OnLongClickL
WebChromeClient.FileChooserParams chooserParams;
ValueCallback chooserPathUri;
Button button;
- private Button MailBtn,CloudBtn,ForumBtn,ChatBtn,PadBtn,CalcBtn,BinBtn,UploadBtn,SearxBtn,PollsBtn,BoardBtn,CallsBtn,NotesBtn,GitBtn,UserBtn,StateBtn,HowToBtn,AboutBtn;//all buttons
- private String email,cloud,forum,etherpad,ethercalc,bin,upload,searx,polls,taiga,user,xmpp,notes,git,cryptpad;
+ private Button MailBtn,CloudBtn,ForumBtn,ChatBtn,PadBtn, CryptpadBtn,BinBtn,UploadBtn,SearxBtn,BoardBtn,CallsBtn,NotesBtn,GitBtn,UserBtn,StateBtn,HowToBtn,AboutBtn;//all buttons
+ private String email,cloud,forum,etherpad,bin,upload,searx,taiga,user,xmpp,notes,git,cryptpad;
private CookieManager cookieManager;
private WebView webView;
private DisWebChromeClient disWebChromeClient;
@@ -157,11 +157,10 @@ public class MainActivity extends AppCompatActivity implements View.OnLongClickL
BtnPreference = getSharedPreferences( "ForumBtn", Context.MODE_PRIVATE );//forum
BtnPreference = getSharedPreferences( "ChatBtn", Context.MODE_PRIVATE );//chat
BtnPreference = getSharedPreferences( "PadBtn", Context.MODE_PRIVATE );//pad
- BtnPreference = getSharedPreferences( "CalcBtn", Context.MODE_PRIVATE );//calc
+ BtnPreference = getSharedPreferences( "CryptpadBtn", Context.MODE_PRIVATE );//cryptpad
BtnPreference = getSharedPreferences( "BinBtn", Context.MODE_PRIVATE );//bin
BtnPreference = getSharedPreferences( "UploadBtn", Context.MODE_PRIVATE );//upload
BtnPreference = getSharedPreferences( "SearxBtn", Context.MODE_PRIVATE );//search
- BtnPreference = getSharedPreferences( "PollsBtn", Context.MODE_PRIVATE );//polls
BtnPreference = getSharedPreferences( "BoardBtn", Context.MODE_PRIVATE );//board
BtnPreference = getSharedPreferences( "CallsBtn", Context.MODE_PRIVATE );//calls
BtnPreference = getSharedPreferences( "NotesBtn", Context.MODE_PRIVATE );//notes
@@ -239,11 +238,10 @@ public class MainActivity extends AppCompatActivity implements View.OnLongClickL
ForumBtn = findViewById( R.id.ForumBtn );
ChatBtn = findViewById( R.id.ChatBtn );
PadBtn = findViewById( R.id.PadBtn );
- CalcBtn = findViewById( R.id.CalcBtn );
+ CryptpadBtn = findViewById( R.id.CryptpadBtn );
BinBtn = findViewById( R.id.BinBtn );
UploadBtn = findViewById( R.id.UploadBtn );
SearxBtn = findViewById( R.id.SearxBtn );
- PollsBtn = findViewById( R.id.PollsBtn );
BoardBtn = findViewById( R.id.BoardBtn );
CallsBtn = findViewById( R.id.CallsBtn );
NotesBtn = findViewById( R.id.NotesBtn );
@@ -278,11 +276,10 @@ public class MainActivity extends AppCompatActivity implements View.OnLongClickL
ForumBtn.setOnLongClickListener( this );
ChatBtn.setOnLongClickListener( this );
PadBtn.setOnLongClickListener( this );
- CalcBtn.setOnLongClickListener( this );
+ CryptpadBtn.setOnLongClickListener( this );
BinBtn.setOnLongClickListener( this );
UploadBtn.setOnLongClickListener( this );
SearxBtn.setOnLongClickListener( this );
- PollsBtn.setOnLongClickListener( this );
BoardBtn.setOnLongClickListener( this );
CallsBtn.setOnLongClickListener( this );
NotesBtn.setOnLongClickListener( this );
@@ -299,11 +296,10 @@ public class MainActivity extends AppCompatActivity implements View.OnLongClickL
ForumBtn.setOnClickListener( this );
ChatBtn.setOnClickListener( this );
PadBtn.setOnClickListener( this );
- CalcBtn.setOnClickListener( this );
+ CryptpadBtn.setOnClickListener( this );
BinBtn.setOnClickListener( this );
UploadBtn.setOnClickListener( this );
SearxBtn.setOnClickListener( this );
- PollsBtn.setOnClickListener( this );
BoardBtn.setOnClickListener( this );
CallsBtn.setOnClickListener( this );
NotesBtn.setOnClickListener( this );
@@ -395,8 +391,8 @@ public class MainActivity extends AppCompatActivity implements View.OnLongClickL
}
else startActivity(pad);
break;
- case R.id.CalcBtn:
- webView.loadUrl(Constants.URL_DisApp_CALC);
+ case R.id.CryptpadBtn:
+ webView.loadUrl(Constants.URL_DisApp_CRYPTPAD );
hideDashboard();
break;
case R.id.BinBtn:
@@ -411,10 +407,6 @@ public class MainActivity extends AppCompatActivity implements View.OnLongClickL
webView.loadUrl(Constants.URL_DisApp_SEARX);
hideDashboard();
break;
- case R.id.PollsBtn:
- webView.loadUrl(Constants.URL_DisApp_POLL);
- hideDashboard();
- break;
case R.id.BoardBtn:
webView.loadUrl(Constants.URL_DisApp_BOARD);
hideDashboard();
@@ -486,8 +478,8 @@ public class MainActivity extends AppCompatActivity implements View.OnLongClickL
case R.id.PadBtn:
showPadInfo();
break;
- case R.id.CalcBtn:
- showCalcInfo();
+ case R.id.CryptpadBtn:
+ showCryptpadInfo();
break;
case R.id.BinBtn:
showBinInfo();
@@ -498,9 +490,6 @@ public class MainActivity extends AppCompatActivity implements View.OnLongClickL
case R.id.SearxBtn:
showSearxInfo();
break;
- case R.id.PollsBtn:
- showPollsInfo();
- break;
case R.id.BoardBtn:
showBoardInfo();
break;
@@ -888,16 +877,16 @@ public class MainActivity extends AppCompatActivity implements View.OnLongClickL
builder.show();
}
- private void showCalcInfo() {
+ private void showCryptpadInfo() {
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
builder.setCancelable(false);
- builder.setTitle(R.string.CalcTitle);
- builder.setMessage(ethercalc +"\n\n"+ getString(R.string.CalcInfo));
+ builder.setTitle(R.string.CryptpadTitle );
+ builder.setMessage(cryptpad +"\n\n"+ getString(R.string.CryptpadInfo ));
builder.setPositiveButton(R.string.global_ok, null);
builder.setNegativeButton(R.string.more_help, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
- webView.loadUrl(Constants.URL_DisApp_CALCHELP);
+ webView.loadUrl(Constants.URL_DisApp_CRYPTPADHELP );
hideDashboard();
}
});
@@ -905,9 +894,9 @@ public class MainActivity extends AppCompatActivity implements View.OnLongClickL
@Override
public void onClick(DialogInterface dialog, int which) {
ViewGroup viewGroup =((ViewGroup)findViewById( R.id.StateBtn ).getParent());
- if (findViewById( R.id.CalcBtn).getParent()!=null){
- viewGroup.removeView(CalcBtn);
- BtnPreference.edit().putBoolean( "CalcBtn", false ).apply();
+ if (findViewById( R.id.CryptpadBtn ).getParent()!=null){
+ viewGroup.removeView( CryptpadBtn );
+ BtnPreference.edit().putBoolean( "CryptpadBtn", false ).apply();
return;}
}
});
@@ -993,32 +982,6 @@ public class MainActivity extends AppCompatActivity implements View.OnLongClickL
builder.show();
}
- private void showPollsInfo() {
- AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
- builder.setCancelable(false);
- builder.setTitle(R.string.PollsTitle);
- builder.setMessage(polls +"\n\n"+ getString(R.string.PollsInfo));
- builder.setPositiveButton(R.string.global_ok, null);
- builder.setNegativeButton(R.string.more_help, new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int which) {
- webView.loadUrl(Constants.URL_DisApp_POLLHELP);
- hideDashboard();
- }
- });
- builder.setNeutralButton( R.string.hide, new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int which) {
- ViewGroup viewGroup =((ViewGroup)findViewById( R.id.StateBtn ).getParent());
- if (findViewById( R.id.PollsBtn).getParent()!=null){
- viewGroup.removeView(PollsBtn);
- BtnPreference.edit().putBoolean( "PollsBtn", false ).apply();
- return;}
- }
- });
- builder.show();
- }
-
private void showBoardInfo() {
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
builder.setCancelable(false);
@@ -2004,57 +1967,64 @@ public class MainActivity extends AppCompatActivity implements View.OnLongClickL
{
HashMap hashmap= (HashMap) componentList.get(a);
String hash = hashmap.get("name");
+ String description = "";
+ if (hashmap.get("description")!=null &&!hashmap.isEmpty()){//.has("description")&&!hasmap.isNull("description")
+ description = hashmap.get("description");
+ }
+ else {
+ description ="No Description";
+ }
switch (hash) {
case "Notes":
- notes = hashmap.get("notes");
+ notes = description;
getNotes(notes);
break;
case "Mail Server":
- email = hashmap.get("description");
+ email = description;
getEmail(email);
break;
case "Cloud":
- cloud = hashmap.get("description");
+ cloud = description;
getCloud(cloud);
break;
case "Forum":
- forum = hashmap.get("description");
+ forum = description;
getForum(forum);
break;
case "Pad":
- etherpad = hashmap.get("description");
+ etherpad = description;
getEtherpad(etherpad);
break;
case "Bin":
- bin = hashmap.get("description");
+ bin = description;
getBin(bin);
break;
case "Upload":
- upload = hashmap.get("description");
+ upload = description;
getUpload(upload);
break;
case "Searx":
- searx = hashmap.get("description");
+ searx = description;
getSearx(searx);
break;
case "Project board":
- taiga = hashmap.get("description");
+ taiga = description;
getTaiga(taiga);
break;
case "User Password management":
- user = hashmap.get("description");
+ user = description;
getUser(user);
break;
case "XMPP Chat server":
- xmpp = hashmap.get("description");
+ xmpp = description;
getXmpp(xmpp);
break;
case "Git":
- git = hashmap.get("description");
+ git = description;
getGit(git);
break;
case "Cryptpad":
- cryptpad = hashmap.get("description");
+ cryptpad = description;
getCryptpad(cryptpad);
break;
}
@@ -2074,9 +2044,6 @@ public class MainActivity extends AppCompatActivity implements View.OnLongClickL
private void getEtherpad(String string){
etherpad = string;
}
- private void getEthercalc(String string){
- ethercalc = string;
- }
private void getBin(String string){
bin = string;
}
@@ -2086,9 +2053,6 @@ public class MainActivity extends AppCompatActivity implements View.OnLongClickL
private void getSearx(String string){
searx = string;
}
- private void getPolls(String string){
- polls = string;
- }
private void getTaiga(String string){
taiga = string;
}
diff --git a/app/src/main/java/org/disroot/disrootapp/ui/SettingsActivity.java b/app/src/main/java/org/disroot/disrootapp/ui/SettingsActivity.java
index 17ea372..ae3f55f 100644
--- a/app/src/main/java/org/disroot/disrootapp/ui/SettingsActivity.java
+++ b/app/src/main/java/org/disroot/disrootapp/ui/SettingsActivity.java
@@ -10,7 +10,6 @@ import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.CheckBox;
-import android.widget.CompoundButton;
import org.disroot.disrootapp.R;
@@ -44,24 +43,18 @@ public class SettingsActivity extends AppCompatActivity {
Toolbar toolbar = findViewById( R.id.toolbar );
setSupportActionBar( toolbar );
toolbar.setNavigationIcon( R.drawable.ic_arrow_back );
- toolbar.setNavigationOnClickListener( new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- onBackPressed();
- }
- } );
+ toolbar.setNavigationOnClickListener( v -> onBackPressed() );
- ////buttons visiblility preference list
+ ////buttons visibility preference list
BtnPreference = getSharedPreferences( "MailBtn", Context.MODE_PRIVATE );//mail
BtnPreference = getSharedPreferences( "CloudBtn", Context.MODE_PRIVATE );//cloud
BtnPreference = getSharedPreferences( "ForumBtn", Context.MODE_PRIVATE );//forum
BtnPreference = getSharedPreferences( "ChatBtn", Context.MODE_PRIVATE );//chat
BtnPreference = getSharedPreferences( "PadBtn", Context.MODE_PRIVATE );//pad
- BtnPreference = getSharedPreferences( "CalcBtn", Context.MODE_PRIVATE );//calc
+ BtnPreference = getSharedPreferences( "CryptpadBtn", Context.MODE_PRIVATE );//Cryptpad
BtnPreference = getSharedPreferences( "BinBtn", Context.MODE_PRIVATE );//bin
BtnPreference = getSharedPreferences( "UploadBtn", Context.MODE_PRIVATE );//upload
- BtnPreference = getSharedPreferences( "SearxBtn", Context.MODE_PRIVATE );//search
- BtnPreference = getSharedPreferences( "PollsBtn", Context.MODE_PRIVATE );//polls
+ BtnPreference = getSharedPreferences( "SearxBtn", Context.MODE_PRIVATE );//searx
BtnPreference = getSharedPreferences( "BoardBtn", Context.MODE_PRIVATE );//Board
BtnPreference = getSharedPreferences( "CallsBtn", Context.MODE_PRIVATE );//calls
BtnPreference = getSharedPreferences( "NotesBtn", Context.MODE_PRIVATE );//notes
@@ -70,7 +63,7 @@ public class SettingsActivity extends AppCompatActivity {
BtnPreference = getSharedPreferences( "HowToBtn", Context.MODE_PRIVATE );//howTo
BtnPreference = getSharedPreferences( "AboutBtn", Context.MODE_PRIVATE );//about
- //checkboxlist
+ //checkbox list
checkPrefBox();
}
@@ -83,11 +76,10 @@ public class SettingsActivity extends AppCompatActivity {
final CheckBox checkForumBtn = iconSettings.findViewById( R.id.foumBtnPreference );//forum
final CheckBox checkChatBtn = iconSettings.findViewById( R.id.chatBtnPreference );//chat
final CheckBox checkPadBtn = iconSettings.findViewById( R.id.padBtnPreference );//pad
- final CheckBox checkCalcBtn = iconSettings.findViewById( R.id.calcBtnPreference );//calc
+ final CheckBox checkCryptpadBtn = iconSettings.findViewById( R.id.cryptpadBtnPreference );//cryptpad
final CheckBox checkBinBtn = iconSettings.findViewById( R.id.binBtnPreference );//bin
final CheckBox checkUploadBtn = iconSettings.findViewById( R.id.uploadBtnPreference );//upload
final CheckBox checkSearxBtn = iconSettings.findViewById( R.id.searxBtnPreference );//search
- final CheckBox checkPollsBtn = iconSettings.findViewById( R.id.pollsBtnPreference );//polls
final CheckBox checkBoardBtn = iconSettings.findViewById( R.id.boardBtnPreference );//board
final CheckBox checkCallsBtn = iconSettings.findViewById( R.id.callsBtnPreference );//calls
final CheckBox checkNotesBtn = iconSettings.findViewById( R.id.notesBtnPreference );//notes
@@ -102,11 +94,10 @@ public class SettingsActivity extends AppCompatActivity {
if (BtnPreference.getBoolean( "ForumBtn", true )) checkForumBtn.setChecked( true );//forum
if (BtnPreference.getBoolean( "ChatBtn", true )) checkChatBtn.setChecked( true );//chat
if (BtnPreference.getBoolean( "PadBtn", true )) checkPadBtn.setChecked( true );//pad
- if (BtnPreference.getBoolean( "CalcBtn", true )) checkCalcBtn.setChecked( true );//calc
+ if (BtnPreference.getBoolean( "CryptpadBtn", true )) checkCryptpadBtn.setChecked( true );//cryptpad
if (BtnPreference.getBoolean( "BinBtn", true )) checkBinBtn.setChecked( true );//bin
if (BtnPreference.getBoolean( "UploadBtn", true )) checkUploadBtn.setChecked( true );//upload
if (BtnPreference.getBoolean( "SearxBtn", true )) checkSearxBtn.setChecked( true );//search
- if (BtnPreference.getBoolean( "PollsBtn", true )) checkPollsBtn.setChecked( true );//polls
if (BtnPreference.getBoolean( "BoardBtn", true )) checkBoardBtn.setChecked( true );//board
if (BtnPreference.getBoolean( "CallsBtn", true )) checkCallsBtn.setChecked( true );//calls
if (BtnPreference.getBoolean( "NotesBtn", true )) checkNotesBtn.setChecked( true );//notes
@@ -116,211 +107,151 @@ public class SettingsActivity extends AppCompatActivity {
if (BtnPreference.getBoolean( "AboutBtn", true )) checkAboutBtn.setChecked( true );//about
//Mail
- checkMailBtn.setOnCheckedChangeListener( new CompoundButton.OnCheckedChangeListener() {
- @Override
- public void onCheckedChanged(CompoundButton view, boolean isChecked) {
- if (checkMailBtn.isChecked()) {
- BtnPreference.edit().putBoolean( "MailBtn", true ).apply();
- } else {
- BtnPreference.edit().putBoolean( "MailBtn", false ).apply();
- }
+ checkMailBtn.setOnCheckedChangeListener( (view, isChecked) -> {
+ if (checkMailBtn.isChecked()) {
+ BtnPreference.edit().putBoolean( "MailBtn", true ).apply();
+ } else {
+ BtnPreference.edit().putBoolean( "MailBtn", false ).apply();
}
} );
//Cloud
- checkCloudBtn.setOnCheckedChangeListener( new CompoundButton.OnCheckedChangeListener() {
- @Override
- public void onCheckedChanged(CompoundButton view, boolean isChecked) {
- if (checkCloudBtn.isChecked()) {
- BtnPreference.edit().putBoolean( "CloudBtn", true ).apply();
- } else {
- BtnPreference.edit().putBoolean( "CloudBtn", false ).apply();
- }
+ checkCloudBtn.setOnCheckedChangeListener( (view, isChecked) -> {
+ if (checkCloudBtn.isChecked()) {
+ BtnPreference.edit().putBoolean( "CloudBtn", true ).apply();
+ } else {
+ BtnPreference.edit().putBoolean( "CloudBtn", false ).apply();
}
} );
//forum
- checkForumBtn.setOnCheckedChangeListener( new CompoundButton.OnCheckedChangeListener() {
- @Override
- public void onCheckedChanged(CompoundButton view, boolean isChecked) {
- if (checkForumBtn.isChecked()) {
- BtnPreference.edit().putBoolean( "ForumBtn", true ).apply();
- } else {
- BtnPreference.edit().putBoolean( "ForumBtn", false ).apply();
- }
+ checkForumBtn.setOnCheckedChangeListener( (view, isChecked) -> {
+ if (checkForumBtn.isChecked()) {
+ BtnPreference.edit().putBoolean( "ForumBtn", true ).apply();
+ } else {
+ BtnPreference.edit().putBoolean( "ForumBtn", false ).apply();
}
} );
//chat
- checkChatBtn.setOnCheckedChangeListener( new CompoundButton.OnCheckedChangeListener() {
- @Override
- public void onCheckedChanged(CompoundButton view, boolean isChecked) {
- if (checkChatBtn.isChecked()) {
- BtnPreference.edit().putBoolean( "ChatBtn", true ).apply();
- } else {
- BtnPreference.edit().putBoolean( "ChatBtn", false ).apply();
- }
+ checkChatBtn.setOnCheckedChangeListener( (view, isChecked) -> {
+ if (checkChatBtn.isChecked()) {
+ BtnPreference.edit().putBoolean( "ChatBtn", true ).apply();
+ } else {
+ BtnPreference.edit().putBoolean( "ChatBtn", false ).apply();
}
} );
//pad
- checkPadBtn.setOnCheckedChangeListener( new CompoundButton.OnCheckedChangeListener() {
- @Override
- public void onCheckedChanged(CompoundButton view, boolean isChecked) {
- if (checkPadBtn.isChecked()) {
- BtnPreference.edit().putBoolean( "PadBtn", true ).apply();
- } else {
- BtnPreference.edit().putBoolean( "PadBtn", false ).apply();
- }
+ checkPadBtn.setOnCheckedChangeListener( (view, isChecked) -> {
+ if (checkPadBtn.isChecked()) {
+ BtnPreference.edit().putBoolean( "PadBtn", true ).apply();
+ } else {
+ BtnPreference.edit().putBoolean( "PadBtn", false ).apply();
}
} );
- //calc
- checkCalcBtn.setOnCheckedChangeListener( new CompoundButton.OnCheckedChangeListener() {
- @Override
- public void onCheckedChanged(CompoundButton view, boolean isChecked) {
- if (checkCalcBtn.isChecked()) {
- BtnPreference.edit().putBoolean( "CalcBtn", true ).apply();
- } else {
- BtnPreference.edit().putBoolean( "CalcBtn", false ).apply();
- }
+ //cryptpad
+ checkCryptpadBtn.setOnCheckedChangeListener( (view, isChecked) -> {
+ if (checkCryptpadBtn.isChecked()) {
+ BtnPreference.edit().putBoolean( "CryptpadBtn", true ).apply();
+ } else {
+ BtnPreference.edit().putBoolean( "CryptpadBtn", false ).apply();
}
} );
//bin
- checkBinBtn.setOnCheckedChangeListener( new CompoundButton.OnCheckedChangeListener() {
- @Override
- public void onCheckedChanged(CompoundButton view, boolean isChecked) {
- if (checkBinBtn.isChecked()) {
- BtnPreference.edit().putBoolean( "BinBtn", true ).apply();
- } else {
- BtnPreference.edit().putBoolean( "BinBtn", false ).apply();
- }
+ checkBinBtn.setOnCheckedChangeListener( (view, isChecked) -> {
+ if (checkBinBtn.isChecked()) {
+ BtnPreference.edit().putBoolean( "BinBtn", true ).apply();
+ } else {
+ BtnPreference.edit().putBoolean( "BinBtn", false ).apply();
}
} );
//upload
- checkUploadBtn.setOnCheckedChangeListener( new CompoundButton.OnCheckedChangeListener() {
- @Override
- public void onCheckedChanged(CompoundButton view, boolean isChecked) {
- if (checkUploadBtn.isChecked()) {
- BtnPreference.edit().putBoolean( "UploadBtn", true ).apply();
- } else {
- BtnPreference.edit().putBoolean( "UploadBtn", false ).apply();
- }
+ checkUploadBtn.setOnCheckedChangeListener( (view, isChecked) -> {
+ if (checkUploadBtn.isChecked()) {
+ BtnPreference.edit().putBoolean( "UploadBtn", true ).apply();
+ } else {
+ BtnPreference.edit().putBoolean( "UploadBtn", false ).apply();
}
} );
//search
- checkSearxBtn.setOnCheckedChangeListener( new CompoundButton.OnCheckedChangeListener() {
- @Override
- public void onCheckedChanged(CompoundButton view, boolean isChecked) {
- if (checkSearxBtn.isChecked()) {
- BtnPreference.edit().putBoolean( "SearxBtn", true ).apply();
- } else {
- BtnPreference.edit().putBoolean( "SearxBtn", false ).apply();
- }
- }
- } );
-
- //polls
- checkPollsBtn.setOnCheckedChangeListener( new CompoundButton.OnCheckedChangeListener() {
- @Override
- public void onCheckedChanged(CompoundButton view, boolean isChecked) {
- if (checkPollsBtn.isChecked()) {
- BtnPreference.edit().putBoolean( "PollsBtn", true ).apply();
- } else {
- BtnPreference.edit().putBoolean( "PollsBtn", false ).apply();
- }
+ checkSearxBtn.setOnCheckedChangeListener( (view, isChecked) -> {
+ if (checkSearxBtn.isChecked()) {
+ BtnPreference.edit().putBoolean( "SearxBtn", true ).apply();
+ } else {
+ BtnPreference.edit().putBoolean( "SearxBtn", false ).apply();
}
} );
//board
- checkBoardBtn.setOnCheckedChangeListener( new CompoundButton.OnCheckedChangeListener() {
- @Override
- public void onCheckedChanged(CompoundButton view, boolean isChecked) {
- if (checkBoardBtn.isChecked()) {
- BtnPreference.edit().putBoolean( "BoardBtn", true ).apply();
- } else {
- BtnPreference.edit().putBoolean( "BoardBtn", false ).apply();
- }
+ checkBoardBtn.setOnCheckedChangeListener( (view, isChecked) -> {
+ if (checkBoardBtn.isChecked()) {
+ BtnPreference.edit().putBoolean( "BoardBtn", true ).apply();
+ } else {
+ BtnPreference.edit().putBoolean( "BoardBtn", false ).apply();
}
} );
//board
- checkCallsBtn.setOnCheckedChangeListener( new CompoundButton.OnCheckedChangeListener() {
- @Override
- public void onCheckedChanged(CompoundButton view, boolean isChecked) {
- if (checkCallsBtn.isChecked()) {
- BtnPreference.edit().putBoolean( "CallsBtn", true ).apply();
- } else {
- BtnPreference.edit().putBoolean( "CallsBtn", false ).apply();
- }
+ checkCallsBtn.setOnCheckedChangeListener( (view, isChecked) -> {
+ if (checkCallsBtn.isChecked()) {
+ BtnPreference.edit().putBoolean( "CallsBtn", true ).apply();
+ } else {
+ BtnPreference.edit().putBoolean( "CallsBtn", false ).apply();
}
} );
//notes
- checkNotesBtn.setOnCheckedChangeListener( new CompoundButton.OnCheckedChangeListener() {
- @Override
- public void onCheckedChanged(CompoundButton view, boolean isChecked) {
- if (checkNotesBtn.isChecked()) {
- BtnPreference.edit().putBoolean( "NotesBtn", true ).apply();
- } else {
- BtnPreference.edit().putBoolean( "NotesBtn", false ).apply();
- }
+ checkNotesBtn.setOnCheckedChangeListener( (view, isChecked) -> {
+ if (checkNotesBtn.isChecked()) {
+ BtnPreference.edit().putBoolean( "NotesBtn", true ).apply();
+ } else {
+ BtnPreference.edit().putBoolean( "NotesBtn", false ).apply();
}
} );
//git
- checkGitBtn.setOnCheckedChangeListener( new CompoundButton.OnCheckedChangeListener() {
- @Override
- public void onCheckedChanged(CompoundButton view, boolean isChecked) {
- if (checkGitBtn.isChecked()) {
- BtnPreference.edit().putBoolean( "GitBtn", true ).apply();
- } else {
- BtnPreference.edit().putBoolean( "GitBtn", false ).apply();
- }
+ checkGitBtn.setOnCheckedChangeListener( (view, isChecked) -> {
+ if (checkGitBtn.isChecked()) {
+ BtnPreference.edit().putBoolean( "GitBtn", true ).apply();
+ } else {
+ BtnPreference.edit().putBoolean( "GitBtn", false ).apply();
}
} );
//user
- checkUserBtn.setOnCheckedChangeListener( new CompoundButton.OnCheckedChangeListener() {
- @Override
- public void onCheckedChanged(CompoundButton view, boolean isChecked) {
- if (checkUserBtn.isChecked()) {
- BtnPreference.edit().putBoolean( "UserBtn", true ).apply();
- } else {
- BtnPreference.edit().putBoolean( "UserBtn", false ).apply();
- }
+ checkUserBtn.setOnCheckedChangeListener( (view, isChecked) -> {
+ if (checkUserBtn.isChecked()) {
+ BtnPreference.edit().putBoolean( "UserBtn", true ).apply();
+ } else {
+ BtnPreference.edit().putBoolean( "UserBtn", false ).apply();
}
} );
//howTo
- checkHowToBtn.setOnCheckedChangeListener( new CompoundButton.OnCheckedChangeListener() {
- @Override
- public void onCheckedChanged(CompoundButton view, boolean isChecked) {
- if (checkHowToBtn.isChecked()) {
- BtnPreference.edit().putBoolean( "HowToBtn", true ).apply();
- } else {
- BtnPreference.edit().putBoolean( "HowToBtn", false ).apply();
- }
+ checkHowToBtn.setOnCheckedChangeListener( (view, isChecked) -> {
+ if (checkHowToBtn.isChecked()) {
+ BtnPreference.edit().putBoolean( "HowToBtn", true ).apply();
+ } else {
+ BtnPreference.edit().putBoolean( "HowToBtn", false ).apply();
}
} );
//about
- checkAboutBtn.setOnCheckedChangeListener( new CompoundButton.OnCheckedChangeListener() {
- @Override
- public void onCheckedChanged(CompoundButton view, boolean isChecked) {
- if (checkAboutBtn.isChecked()) {
- BtnPreference.edit().putBoolean( "AboutBtn", true ).apply();
- } else {
- BtnPreference.edit().putBoolean( "AboutBtn", false ).apply();
- }
+ checkAboutBtn.setOnCheckedChangeListener( (view, isChecked) -> {
+ if (checkAboutBtn.isChecked()) {
+ BtnPreference.edit().putBoolean( "AboutBtn", true ).apply();
+ } else {
+ BtnPreference.edit().putBoolean( "AboutBtn", false ).apply();
}
} );
}
- @Override //make sure changes are applyed when going back
+ @Override //make sure changes are applied when going back
public void onBackPressed() {
Intent goHome = new Intent( SettingsActivity.this, MainActivity.class );
SettingsActivity.this.startActivity( goHome );
diff --git a/app/src/main/java/org/disroot/disrootapp/ui/StateActivity.java b/app/src/main/java/org/disroot/disrootapp/ui/StateActivity.java
index a589f09..3008dee 100644
--- a/app/src/main/java/org/disroot/disrootapp/ui/StateActivity.java
+++ b/app/src/main/java/org/disroot/disrootapp/ui/StateActivity.java
@@ -33,14 +33,13 @@ public class StateActivity extends AppCompatActivity {
Button button;
- private String TAG = StateActivity.class.getSimpleName();
+ private final String TAG = StateActivity.class.getSimpleName();
private ProgressDialog pDialog;
private ListView lv;
// URL to get data JSON
static String url = "https://status.disroot.org/index.json";
- //static String url1 = "https://state.disroot.org/api/v1/components?sort=status&page=2";
ArrayList> stateList;
@@ -52,22 +51,13 @@ public class StateActivity extends AppCompatActivity {
Toolbar toolbar = findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
toolbar.setNavigationIcon(R.drawable.ic_arrow_back);
- toolbar.setNavigationOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- onBackPressed();
- }
- });
-
+ toolbar.setNavigationOnClickListener( v -> onBackPressed() );
button = findViewById(R.id.StateMessageBtn);//StateMessageBtn
- button.setOnClickListener(new View.OnClickListener() {
- public void onClick(View arg0) {
- Intent goState = new Intent(StateActivity.this, StateMessagesActivity.class);
- StateActivity.this.startActivity(goState);
- }
-
- });
+ button.setOnClickListener( arg0 -> {
+ Intent goState = new Intent(StateActivity.this, StateMessagesActivity.class);
+ StateActivity.this.startActivity(goState);
+ } );
stateList = new ArrayList<>();
@@ -124,7 +114,6 @@ public class StateActivity extends AppCompatActivity {
// Making a request to url and getting response
String jsonStr0 = sh.makeServiceCall(url);
- //String jsonStr1 = sh.makeServiceCall(url1);
Log.e(TAG, "Response from url: " + jsonStr0);
@@ -162,70 +151,18 @@ public class StateActivity extends AppCompatActivity {
}
} catch (final JSONException e) {
Log.e(TAG, "Json parsing error: " + e.getMessage());
- runOnUiThread(new Runnable() {
- @Override
- public void run() {
- Toast.makeText(getApplicationContext(),
- "Json parsing error: " + e.getMessage(),
- Toast.LENGTH_LONG)
- .show();
- }
- });
+ runOnUiThread( () -> Toast.makeText(getApplicationContext(),
+ "Json parsing error: " + e.getMessage(),
+ Toast.LENGTH_LONG)
+ .show() );
}
- }/*if (jsonStr1 != null) {//next page
- try {
- JSONObject jsonObj = new JSONObject(jsonStr1);
-
- // Getting JSON Array node
- JSONArray data = jsonObj.getJSONArray("data");
-
- // looping through All data
- for (int i = 0; i < data.length(); i++) {
- JSONObject c = data.getJSONObject(i);
-
- String id = c.getString("id");
- String name = c.getString("name");
- String description = c.getString("description");
- String updated_at = c.getString("updated_at");
- String lastUpdated = "Last updated: " + updated_at;
- String status_name = c.getString("status_name");
-
- // tmp hash map for single service
- HashMap service = new HashMap<>();
-
- // adding each child node to HashMap key => value
- service.put("id", id);
- service.put("name", name);
- service.put("description", description);
- service.put("updated_at", lastUpdated);
- service.put("status_name", status_name);
-
- // adding service to service list
- stateList.add(service);
- }
- } catch (final JSONException e) {
- Log.e(TAG, "Json parsing error: " + e.getMessage());
- runOnUiThread(new Runnable() {
- @Override
- public void run() {
- Toast.makeText(getApplicationContext(),
- "Json parsing error: " + e.getMessage(),
- Toast.LENGTH_LONG)
- .show();
- }
- });
- }
- }*/else {
+ }
+ else {
Log.e(TAG, "Couldn't get json from server.");
- runOnUiThread(new Runnable() {
- @Override
- public void run() {
- Toast.makeText(getApplicationContext(),
- "Couldn't get json from server. Is your internet connection ok?",
- Toast.LENGTH_LONG)
- .show();
- }
- });
+ runOnUiThread( () -> Toast.makeText(getApplicationContext(),
+ "Couldn't get json from server. Is your internet connection ok?",
+ Toast.LENGTH_LONG)
+ .show() );
}
return null;
}
@@ -239,18 +176,18 @@ public class StateActivity extends AppCompatActivity {
//Updating parsed JSON data into ListView
ListAdapter adapter = new SimpleAdapter(
- StateActivity.this, stateList, R.layout.list_item,
+ StateActivity.this, stateList, R.layout.list_services,
new String[]{"name", "description", "category","status"},
- new int[]{R.id.name,R.id.description,R.id.lastMod, R.id.status_name})
+ new int[]{R.id.name,R.id.description,R.id.category, R.id.status})
- //Change Color based on Status
+ //Change Color based on Status
{
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View v = super.getView(position, convertView, parent);
//Status
- TextView status = v.findViewById(R.id.status_name);
+ TextView status = v.findViewById(R.id.status);
String statusValue = status.getText().toString();
switch (statusValue) {
case "ok":
diff --git a/app/src/main/java/org/disroot/disrootapp/ui/StateMessagesActivity.java b/app/src/main/java/org/disroot/disrootapp/ui/StateMessagesActivity.java
index 232aac1..9b3f941 100644
--- a/app/src/main/java/org/disroot/disrootapp/ui/StateMessagesActivity.java
+++ b/app/src/main/java/org/disroot/disrootapp/ui/StateMessagesActivity.java
@@ -33,12 +33,12 @@ import java.util.HashMap;
public class StateMessagesActivity extends AppCompatActivity {
Button button;
- private String TAG = StateMessagesActivity.class.getSimpleName();
+ private final String TAG = StateMessagesActivity.class.getSimpleName();
private ProgressDialog pDialog;
private ListView lv;
// URL to get data JSON
- static String incidenturl0 ="https://status.disroot.org/issues/index.json";
+ static String incidentUrl0 ="https://status.disroot.org/issues/index.json";
ArrayList> messageList;
ArrayList> getDate;
@@ -51,22 +51,13 @@ public class StateMessagesActivity extends AppCompatActivity {
Toolbar toolbar = findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
toolbar.setNavigationIcon(R.drawable.ic_arrow_back);
- toolbar.setNavigationOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- onBackPressed();
- }
- });
-
+ toolbar.setNavigationOnClickListener( v -> onBackPressed() );
button = findViewById(R.id.StateBtn);//StateBtn
- button.setOnClickListener(new View.OnClickListener() {
- public void onClick(View arg0) {
- Intent goState = new Intent(StateMessagesActivity.this, StateActivity.class);
- StateMessagesActivity.this.startActivity(goState);
- }
-
- });
+ button.setOnClickListener( arg0 -> {
+ Intent goState = new Intent(StateMessagesActivity.this, StateActivity.class);
+ StateMessagesActivity.this.startActivity(goState);
+ } );
messageList = new ArrayList<>();
getDate = new ArrayList<>();
@@ -117,13 +108,13 @@ public class StateMessagesActivity extends AppCompatActivity {
HttpHandler sh = new HttpHandler();
// Making a request to url and getting response
- String jsonStrincidents0 = sh.makeServiceCall(incidenturl0);
+ String jsonStringIdents0 = sh.makeServiceCall( incidentUrl0 );
- Log.e(TAG, "Response from url: " + incidenturl0);
+ Log.e(TAG, "Response from url: " + incidentUrl0 );
- if (jsonStrincidents0 != null) {//Incidaetnts page
+ if (jsonStringIdents0 != null) {//Incidents page
try {
- JSONObject jsonObj = new JSONObject(jsonStrincidents0);
+ JSONObject jsonObj = new JSONObject( jsonStringIdents0 );
// Getting JSON Array node
JSONArray data = jsonObj.getJSONArray("pages");
@@ -132,10 +123,9 @@ public class StateMessagesActivity extends AppCompatActivity {
for (int i = 0; i < data.length(); i++) {
JSONObject c = data.getJSONObject(i);
- //String id = c.getString("id");
String title = c.getString("title");
String link = c.getString("permalink");
- Boolean resolved = c.getBoolean( "resolved" );
+ boolean resolved = c.getBoolean( "resolved" );
String lastMod = c.getString("lastMod");
String lastUpdated = "Last Updated: " + lastMod + '"';
@@ -145,7 +135,7 @@ public class StateMessagesActivity extends AppCompatActivity {
// adding each child node to HashMap key => value
service.put("title", title);
service.put("moreInfo", link);
- service.put("resolved", resolved.toString());
+ service.put("resolved", Boolean.toString( resolved ) );
service.put("lastMod", lastUpdated);
// adding service to service list
@@ -153,27 +143,17 @@ public class StateMessagesActivity extends AppCompatActivity {
}
} catch (final JSONException e) {
Log.e(TAG, "Json parsing error: " + e.getMessage());
- runOnUiThread(new Runnable() {
- @Override
- public void run() {
- Toast.makeText(getApplicationContext(),
- "Json parsing error: " + e.getMessage(),
- Toast.LENGTH_LONG)
- .show();
- }
- });
+ runOnUiThread( () -> Toast.makeText(getApplicationContext(),
+ "Json parsing error: " + e.getMessage(),
+ Toast.LENGTH_LONG)
+ .show() );
}
}else {
Log.e(TAG, "Couldn't get json from server.");
- runOnUiThread(new Runnable() {
- @Override
- public void run() {
- Toast.makeText(getApplicationContext(),
- "Couldn't get json from server. Is your internet connection ok?",
- Toast.LENGTH_LONG)
- .show();
- }
- });
+ runOnUiThread( () -> Toast.makeText(getApplicationContext(),
+ "Couldn't get json from server. Is your internet connection ok?",
+ Toast.LENGTH_LONG)
+ .show() );
}
return null;
}
@@ -188,8 +168,8 @@ public class StateMessagesActivity extends AppCompatActivity {
//Updating parsed JSON data into ListView
ListAdapter adapter = new SimpleAdapter(
StateMessagesActivity.this, messageList,
- R.layout.list_item, new String[]{"title","moreInfo", "lastMod", "resolved", "status"}, new int[]{R.id.name, R.id.message,
- R.id.lastMod, R.id.resolved, R.id.status})
+ R.layout.list_service_messages, new String[]{"title","moreInfo", "lastMod", "resolved", "status"}, new int[]{R.id.name, R.id.description,
+ R.id.category, R.id.resolved, R.id.status})
{
@@ -200,22 +180,17 @@ public class StateMessagesActivity extends AppCompatActivity {
//Make links work
- TextView link = v.findViewById( R.id.message );
+ TextView link = v.findViewById( R.id.description );
String linkValue = link.getText().toString();
link.setText( R.string.more_info);
- v.setOnClickListener(new View.OnClickListener() {
-
- public void onClick(View arg0) {
-
- Uri uri = Uri.parse( linkValue);
- Intent statusLink = new Intent(Intent.ACTION_VIEW, Uri.parse(String.valueOf(uri)));
- startActivity(statusLink);
- }
-
- });
+ v.setOnClickListener( arg0 -> {
+ Uri uri = Uri.parse( linkValue);
+ Intent statusLink = new Intent(Intent.ACTION_VIEW, Uri.parse(String.valueOf(uri)));
+ startActivity(statusLink);
+ } );
//Make Last updated translatable
- TextView updated = v.findViewById(R.id.lastMod );
+ TextView updated = v.findViewById(R.id.category );
String updatedValue = updated.getText().toString();
if (updatedValue.startsWith("Last Updated: ")){
updated.setText(updatedValue.replace("Last Updated: ",getText(R.string.LastUpdated)));
@@ -224,18 +199,17 @@ public class StateMessagesActivity extends AppCompatActivity {
TextView resolved = v.findViewById(R.id.resolved );
String resolvedValue = resolved.getText().toString();
//Human_status
- TextView humanStatus = v.findViewById(R.id.status );
- String humanStatusValue = humanStatus.getText().toString();
- Log.e("status", "status: "+humanStatusValue);
+ TextView status = v.findViewById(R.id.status );
+ Log.e("status", "status: "+resolvedValue);
switch (resolvedValue) {
case "true":
- humanStatus.setTextColor(Color.GREEN);
- humanStatus.setText(R.string.Fixed);
+ status.setTextColor(Color.GREEN);
+ status.setText(R.string.Fixed);
resolved.setVisibility(View.GONE );
break;
case "false":
- humanStatus.setTextColor(Color.RED);
- humanStatus.setText(R.string.down);
+ status.setTextColor(Color.RED);
+ status.setText(R.string.down);
resolved.setVisibility(View.GONE );
break;
}
diff --git a/app/src/main/java/org/disroot/disrootapp/ui/WelcomeActivity.java b/app/src/main/java/org/disroot/disrootapp/ui/WelcomeActivity.java
index c7a59b0..04cc4eb 100644
--- a/app/src/main/java/org/disroot/disrootapp/ui/WelcomeActivity.java
+++ b/app/src/main/java/org/disroot/disrootapp/ui/WelcomeActivity.java
@@ -4,7 +4,6 @@ import android.content.Intent;
import android.net.Uri;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
-import android.view.View;
import android.widget.ImageButton;
import org.disroot.disrootapp.R;
@@ -19,22 +18,16 @@ public class WelcomeActivity extends AppCompatActivity {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_welcome);
imageButton = findViewById(R.id.homeBtn);//Home
- imageButton.setOnClickListener(new View.OnClickListener() {
- public void onClick(View arg0) {
- Intent goHome = new Intent(WelcomeActivity.this, MainActivity.class);
- WelcomeActivity.this.startActivity(goHome);
- }
-
- });
+ imageButton.setOnClickListener( arg0 -> {
+ Intent goHome = new Intent(WelcomeActivity.this, MainActivity.class);
+ WelcomeActivity.this.startActivity(goHome);
+ } );
imageButton = findViewById(R.id.fDroidBtn);//Home
- imageButton.setOnClickListener(new View.OnClickListener() {
- public void onClick(View arg0) {
- Uri uri = Uri.parse(String.valueOf(Constants.URL_FDROID));
- Intent fDroid = new Intent(Intent.ACTION_VIEW, Uri.parse(String.valueOf(uri)));
- startActivity(fDroid);
- }
-
- });
+ imageButton.setOnClickListener( arg0 -> {
+ Uri uri = Uri.parse( Constants.URL_FDROID );
+ Intent fDroid = new Intent(Intent.ACTION_VIEW, Uri.parse(String.valueOf(uri)));
+ startActivity(fDroid);
+ } );
}
}
diff --git a/app/src/main/java/org/disroot/disrootapp/utils/Constants.java b/app/src/main/java/org/disroot/disrootapp/utils/Constants.java
index f7d1708..16bfd2b 100644
--- a/app/src/main/java/org/disroot/disrootapp/utils/Constants.java
+++ b/app/src/main/java/org/disroot/disrootapp/utils/Constants.java
@@ -10,14 +10,11 @@ public class Constants {
public static final long SPLASH_SCREEN_DURATION = 3000;
public static final long SPLASH_SCREEN_INTERVAL = 1000;
-
- public static final String title_activity_state = "StateActivity";
public static final String URL_DisApp_FORUM = "https://forum.disroot.org/";
- public static final String URL_DisApp_CALC = "https://calc.disroot.org";
+ public static final String URL_DisApp_CRYPTPAD = "https://cryptpad.disroot.org/";
public static final String URL_DisApp_BIN = "https://bin.disroot.org";
public static final String URL_DisApp_UPLOAD = "https://upload.disroot.org";
public static final String URL_DisApp_SEARX = "https://search.disroot.org";
- public static final String URL_DisApp_POLL = "https://poll.disroot.org";
public static final String URL_DisApp_BOARD = "https://board.disroot.org";
public static final String URL_DisApp_USER = "https://user.disroot.org";
public static final String URL_DisApp_HOWTO = "https://howto.disroot.org";
@@ -41,13 +38,11 @@ public class Constants {
public static final String URL_XMPP = "xmpp:disroot@chat.disroot.org?join";
public static final String URL_SUPPORT = "mailto:support@disroot.org";
public static final String URL_DisApp_CLOUDHELP = "https://howto.disroot.org/en/tutorials/cloud/clients/mobile/android";
- public static final String URL_DisApp_DIAHELP = "https://disroot.org/services/diaspora";
public static final String URL_DisApp_FORUMHELP = "https://howto.disroot.org/en/tutorials/forum";
public static final String URL_DisApp_PADHELP = "https://howto.disroot.org/en/tutorials/office/pads/padland";
- public static final String URL_DisApp_CALCHELP = "https://howto.disroot.org/en/tutorials/office/pads/ethercalc";
+ public static final String URL_DisApp_CRYPTPADHELP = "https://howto.disroot.org/it/tutorials/office/cryptpad";
public static final String URL_DisApp_BINHELP = "https://howto.disroot.org/en/tutorials/office/bin";
public static final String URL_DisApp_UPLOADHELP = "https://howto.disroot.org/en/tutorials/office/lufi";
- public static final String URL_DisApp_POLLHELP = "https://howto.disroot.org/en/tutorials/office/polls";
public static final String URL_DisApp_BOARDHELP = "https://howto.disroot.org/en/tutorials/project_board";
public static final String URL_DisApp_NOTESHELP = "https://howto.disroot.org/en/tutorials/cloud/clients/mobile/android/using-notes";
public static final String URL_DisApp_CALLSHELP = "https://disroot.org/en/services/calls";
@@ -64,7 +59,7 @@ public class Constants {
public static final String CallsApp = "org.jitsi.meet";
public static final String GitApp = "org.mian.gitnex";
- public static final int[] buttonIDs = new int[] {R.id.MailBtn, R.id.CloudBtn, R.id.ForumBtn,R.id.ChatBtn,R.id.PadBtn,R.id.CalcBtn,R.id.BinBtn,R.id.UploadBtn,R.id.SearxBtn,R.id.PollsBtn,R.id.BoardBtn,R.id.CallsBtn,R.id.NotesBtn,R.id.GitBtn,R.id.UserBtn,R.id.StateBtn,R.id.HowToBtn,R.id.AboutBtn};
+ public static final int[] buttonIDs = new int[] {R.id.MailBtn, R.id.CloudBtn, R.id.ForumBtn,R.id.ChatBtn,R.id.PadBtn,R.id.CryptpadBtn,R.id.BinBtn,R.id.UploadBtn,R.id.SearxBtn,R.id.BoardBtn,R.id.CallsBtn,R.id.NotesBtn,R.id.GitBtn,R.id.UserBtn,R.id.StateBtn,R.id.HowToBtn,R.id.AboutBtn};
public static final int REQUEST_ID_MULTIPLE_PERMISSIONS = 1;//file upload
diff --git a/app/src/main/res/drawable/ic_calc.xml b/app/src/main/res/drawable/ic_cryptpad.xml
similarity index 100%
rename from app/src/main/res/drawable/ic_calc.xml
rename to app/src/main/res/drawable/ic_cryptpad.xml
diff --git a/app/src/main/res/drawable/ic_poll.xml b/app/src/main/res/drawable/ic_poll.xml
deleted file mode 100644
index 3281fc4..0000000
--- a/app/src/main/res/drawable/ic_poll.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-
diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml
index 4f4e89e..87e23bd 100644
--- a/app/src/main/res/layout/activity_main.xml
+++ b/app/src/main/res/layout/activity_main.xml
@@ -137,12 +137,12 @@
app:fontFamily="@font/open_sans_regular" />
@@ -176,16 +176,6 @@
android:textColor="@color/white"
app:fontFamily="@font/open_sans_regular" />
-
-
+ android:drawableStart="@drawable/ic_cryptpad"
+ android:drawableLeft="@drawable/ic_cryptpad"/>
-
-
-
-
+ android:text="@string/thirdPartyText"/>
diff --git a/app/src/main/res/layout/list_item.xml b/app/src/main/res/layout/list_service_messages.xml
similarity index 76%
rename from app/src/main/res/layout/list_item.xml
rename to app/src/main/res/layout/list_service_messages.xml
index 0afb925..1be5d59 100644
--- a/app/src/main/res/layout/list_item.xml
+++ b/app/src/main/res/layout/list_service_messages.xml
@@ -15,33 +15,6 @@
android:textSize="16sp"
android:textStyle="bold" />
-
-
-
-
-
-
-
-
+
+
+
+
diff --git a/app/src/main/res/layout/list_services.xml b/app/src/main/res/layout/list_services.xml
new file mode 100644
index 0000000..126f6b7
--- /dev/null
+++ b/app/src/main/res/layout/list_services.xml
@@ -0,0 +1,38 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml
index d2ee91b..bc2e651 100644
--- a/app/src/main/res/values-de/strings.xml
+++ b/app/src/main/res/values-de/strings.xml
@@ -7,10 +7,9 @@
ForumChatEtherpad
- EtherCalc
+ CryptpadPrivate binUpload
- UmfrageStatusHow toÜber
@@ -28,7 +27,7 @@
Nextcloud EinstellungenSichere und synchronisiere Deine Daten. Mit Nextcloud kannst du Dateien, Kalender, Kontakte und mehr mit Anderen teilen.\n\nHost:\n https://cloud.disroot.org\n\nBenutzername:\n "dein Disroot Benutzername"\n\nPasswort:\n "dein Disroot Passwort".Willkommen
- Disroot ist eine Plattform, auf der Online-Dienste angeboten werden, die auf den Prinzipien von Freiheit, Privatsphäre, Gemeinschaft und Dezentralisierung basieren.\nDiese App ist wie ein Schweizer Taschenmesser für die Disroot-Plattform, von der Community für die Community.\nAuch wenn du keinen Disroot-Account hast, kannst Du diese App trotzdem nutzen, um auf alle Disroot-Dienste zuzugreifen, die kein Benutzerkonto erfordern:\n \ \ \ • Etherpad\n \ \ \ • Ethercalc\n \ \ \ • Private bin\n \ \ \ • Upload\n \ \ \ • Poll\n \ \ \ • Searx\n \ \ \ • Diaspora* (separater Diaspora Account benötigt)\n\nDiese App wird Dich eventuell darum bitten, weitere Apps zu installieren. Wir empfehlen F-Droid zu installieren - einen kostenlosen und quelloffenen App-Katalog - da nicht alle verwendeten Apps im Google Play Store zu finden sind und F-Droid außerdem mehr auf Datenschutz ausgerichtet ist (kein Tracking, kein Account erforderlich). Du kannst F-Droid herunterladen, indem Du auf das F-Droid-Symbol klickst.\n
+ Disroot ist eine Plattform, auf der Online-Dienste angeboten werden, die auf den Prinzipien von Freiheit, Privatsphäre, Gemeinschaft und Dezentralisierung basieren.\nDiese App ist wie ein Schweizer Taschenmesser für die Disroot-Plattform, von der Community für die Community.\nAuch wenn du keinen Disroot-Account hast, kannst Du diese App trotzdem nutzen, um auf alle Disroot-Dienste zuzugreifen, die kein Benutzerkonto erfordern:\n \ \ \ • Etherpad\n \ \ \ • Cryptpad\n \ \ \ • Private bin\n \ \ \ • Upload\n \ \ \ • Poll\n \ \ \ • Searx\n \ \ \ • Diaspora* (separater Diaspora Account benötigt)\n\nDiese App wird Dich eventuell darum bitten, weitere Apps zu installieren. Wir empfehlen F-Droid zu installieren - einen kostenlosen und quelloffenen App-Katalog - da nicht alle verwendeten Apps im Google Play Store zu finden sind und F-Droid außerdem mehr auf Datenschutz ausgerichtet ist (kein Tracking, kein Account erforderlich). Du kannst F-Droid herunterladen, indem Du auf das F-Droid-Symbol klickst.\nHilfeLizenzEinstellungen
@@ -39,8 +38,8 @@
https://disroot.org * Disroot Community (Disroot):F-Droid
- Libraries von Drittanbietern
- ckChangelog: Apache License 2.0\n\nTaponium: GNU General Public License v3.0
+ Libraries von Drittanbietern
+ ckChangelog: Apache License 2.0\n\nTaponium: GNU General Public License v3.0sonstigesWir haben Diolinux als Grundlage benutzt, um diese App zu entwickeln. Probier es selbst aus, es ist freie, quelloffene Software!Weitere Informationen
@@ -69,8 +68,8 @@
EtherPad InfoXMPP Einstellungen\nConversations ist ein Messenger für die eine sichere (E2EE mit OMEMO und PGP) und datenschutzfeundliche Kommunikation mit Kontakten und Gruppen. Er nutzt das quelloffene XMPP-Protokoll das eine dezentrale Server-Infrastruktur erlaubt.\n\nJabber ID :\n Deine_Disroot_email_addresse\n\nPasswort :\n Dein_Disroot_passwort
- Mit EtherCalc zusammen an Listen, Formularen, Datensätzen, etc. arbeiten.\nKeine Registrierung notwendig.
- EtherCalc Info
+ Eine privat gestaltete Alternative zu den gängigen Office-Tools.\nKeine Registrierung notwendig.
+ Cryptpad InfoPrivateBin HelpPrivateBin ist ein quelloffener Online-Speicher-Service mit Diskussionsforum. Die Daten werden im Browser verschlüsselt und entschlüsselt, so dass der Server keine Kenntnis über die hochgeladenen Daten hat. Füge einfach einen Text ein, klicke auf "Senden" und teile die URL. Es können zusätzlich ein Passwort und ein Ablaufzeitpunkt gewählt werden.\nKeine Registrierung notwendig.Upload (powered by Lufi) Info
@@ -127,7 +126,7 @@
CloudPerformance ProblemeKeine Probleme
- Bei einigen Systemen treten Probleme auf
+ Bei einigen Systemen treten Probleme aufZeige Status-NachrichtenZeige Service-StatusGeplant am: \
@@ -170,5 +169,7 @@
Übersetzer:Künstlerische Gestaltung:Behoben
+ Down
+ Tap for more info
diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml
index fd2400e..c1dfaaf 100644
--- a/app/src/main/res/values-es/strings.xml
+++ b/app/src/main/res/values-es/strings.xml
@@ -7,10 +7,9 @@
ForoChatEtherpad
- EtherCalc
+ CryptpadPastebinSubir
- EncuestasEstadoGuías
@@ -32,7 +31,7 @@
Configuración de Nextcloud:Sincroniza y comparte tus archivos, calendarios, contactos y más.\n\nHost:\n https://cloud.disroot.org\n\nUsuarix: tu_usuarix_de_disroot\nContraseña:tu_contraseña_de_Disroot.Bienvenidx
- Disroot es una plataforma que provee servicios en línea basados en los principios de libertad, privacidad, federación y descentralización.\nEsta aplicación es como la navaja suiza de la plataforma, hecha por la comunidad, para la comunidad.\nSi no tienes una cuenta de Disroot, igual puedes usarla para acceder a aquellos servicios que no requieran de una:\nEtherpad, Ethercalc, Privatebin, Upload, Encuentas, Searx y Diaspora* (requiere tener cuenta solo de Diaspora*)\nLa aplicación podría solicitarte la instalación de otras adicionales, y no todas pueden encontrarse en la Tienda de Aplicaciones. Nosotros recomendamos instalar F-Droid. Si no la tienes, puedes descargarla tocando el logo de F-Droid.\n
+ Disroot es una plataforma que provee servicios en línea basados en los principios de libertad, privacidad, federación y descentralización.\nEsta aplicación es como la navaja suiza de la plataforma, hecha por la comunidad, para la comunidad.\nSi no tienes una cuenta de Disroot, igual puedes usarla para acceder a aquellos servicios que no requieran de una:\nEtherpad, Cryptpad, Privatebin, Upload, Encuentas, Searx y Diaspora* (requiere tener cuenta solo de Diaspora*)\nLa aplicación podría solicitarte la instalación de otras adicionales, y no todas pueden encontrarse en la Tienda de Aplicaciones. Nosotros recomendamos instalar F-Droid. Si no la tienes, puedes descargarla tocando el logo de F-Droid.\nAyuda
@@ -51,8 +50,8 @@
https://disroot.org * Comunidad de Disroot (Disroot):F-Droid
- Librerías de Terceros
- ckCangelog: Apache License 2.0\n\nTaponium: GNU General Public License v3.0
+ Librerías de Terceros
+ ckCangelog: Apache License 2.0\n\nTaponium: GNU General Public License v3.0MisceláneasUtilizamos Diolinx como base para la creación de esta aplicación. Puedes chequearla, también es software libre.Más info
@@ -81,8 +80,8 @@
Etherpad:\nEscribe artículos, anuncios de prensa, listas de pendientes, etc., junto a amigxs, compañerxs de estudios o colegas, todxs trabajando en el mismo documento al mismo tiempo.Configuración de XMPP\nMensajería instantánea descentralizada y federada.\nID de Jabber: tu_correo@disroot.org\nContraseña: tu_contraseña_de_Disroot
- EtherCalc
- EtherCalc: Trabaja colaborativemente en inventarios, formularios de encuestas, gestión de listas, sesiones de lluvia de ideas y más.
+ Cryptpad
+ Cryptpad: TUna alternativa privada al diseño de las herramientas ofimáticas más populares.\n No es necesario registrarse.PrivateBinPastebin de código abierto en línea y tablero de discusión. La información es cifrada/descifrada en el navegador, de esa manera el servidor tiene cero conocimiento de los archivos alojados. Solo pega un texto, haz click en “Enviar”, establece la fecha de vencimiento (entre otras funcionalidades) y comparte la dirección URL.Subir (Impulsado por Lufi)
@@ -138,7 +137,7 @@
NubeProblemas de desempeñoSin problemas
- Algunos sistemas están experimentando problemas
+ Algunos sistemas están experimentando problemasMostrar mensajes de EstadoMostrar Estado del servicioProgramado para:
@@ -179,4 +178,7 @@
Traductorxs:Arte:Arreglado
+
+ Down
+ Tap for more info
diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml
index b6d8c80..30218c6 100644
--- a/app/src/main/res/values-fr/strings.xml
+++ b/app/src/main/res/values-fr/strings.xml
@@ -8,11 +8,10 @@
ForumChatEtherpad
- EtherCalc
+ CryptpadPrivate binTéléverserSearch
- SondageProject boardAccountÉtat des services
@@ -58,7 +57,7 @@
\nMot de passe :
\n votre_mot_de_passe_disroot.Bienvenue
- Disroot est une plate-forme fournissant des services en ligne basés sur les principes de liberté, de confidentialité, de fédération et de décentralisation.\nCette application est comme votre couteau suisse vers la plate-forme Disroot, faite par la communauté pour la communauté. Si vous n\'avez pas un compte Disroot vous pouvez toujours utiliser cette application pour accéder aux services Disroot qui n\'en nécessitent pas:\n \ \ \ • Etherpad\n \ \ \ • Ethercalc\n \ \ \ • Private bin\n \ \ \ • Téléverser\n \ \ \ • Sondage\n \ \ \ • Searx\n \ \ \ • Diaspora* (nécessite un compte Diaspora)\n\nL\'application peut vous demander d\'installer des applications supplémentaires. Nous vous recommandons fortement d\'installer F-Droid - un catalogue d\'applications gratuit et open source - car toutes les applications ne se trouvent pas sur le Play Store de Google et F-Droid est plus orienté vers la confidentialité (pas de suivi, pas besoin de compte) vous pouvez le télécharger en tapant sur l\'icône F-droid.\n
+ Disroot est une plate-forme fournissant des services en ligne basés sur les principes de liberté, de confidentialité, de fédération et de décentralisation.\nCette application est comme votre couteau suisse vers la plate-forme Disroot, faite par la communauté pour la communauté. Si vous n\'avez pas un compte Disroot vous pouvez toujours utiliser cette application pour accéder aux services Disroot qui n\'en nécessitent pas:\n \ \ \ • Etherpad\n \ \ \ • Cryptpad\n \ \ \ • Private bin\n \ \ \ • Téléverser\n \ \ \ • Sondage\n \ \ \ • Searx\n \ \ \ • Diaspora* (nécessite un compte Diaspora)\n\nL\'application peut vous demander d\'installer des applications supplémentaires. Nous vous recommandons fortement d\'installer F-Droid - un catalogue d\'applications gratuit et open source - car toutes les applications ne se trouvent pas sur le Play Store de Google et F-Droid est plus orienté vers la confidentialité (pas de suivi, pas besoin de compte) vous pouvez le télécharger en tapant sur l\'icône F-droid.\nAideLicence d\'utilisation
@@ -76,8 +75,8 @@
https://disroot.org* La communauté Disroot (Disroot) :F-Droid
- Librairies tierces
- ckCangelog: Licence d\'utilisation Apache 2.0\n\nTaponium: Licence d\'utilisation GNU General Public v3.0
+ Librairies tierces
+ ckCangelog: Licence d\'utilisation Apache 2.0\n\nTaponium: Licence d\'utilisation GNU General Public v3.0DiversNous avons utilisé Diolinx comme base de départ pour créer cette application. Allez voir, c\'est également un logiciel libre !En savoir plus
@@ -112,8 +111,8 @@
Info EtherPadParamètres XMPP\nConversations est une application de messagerie instantanée décentralisée et fédérée, gratuite, standard et open-source, pour chatter avec des contacts ou au sein de groupes.\n\nJabber ID :\n Votre adresse email Disroot complète\n\nMot de passe :\n votre mot de passe Disroot
- Avec EtherCalc, travaillez ensemble sur des inventaires, des formulaires d\'enquête, des listes, des sessions de brainstorming et plus encore !\nAucune inscription n\'est requise.
- Info EtherCalc
+ Une alternative privée aux outils de bureautique populaires.\nAucune inscription n\'est requise.
+ Info CryptpadAide PrivateBinPrivateBin est un pastebin et un forum de discussion en ligne open-source. Les données sont chiffrées et déchiffrées dans le navigateur afin que le serveur n\'ait aucune connaissance des données hébergées. Il suffit de coller un texte, de cliquer sur "Envoyer", de définir l\'expiration (et d\'autres fonctionnalités) et de partager l\'URL.\nAucune inscription n\'est requise.Info Téléverser (propulsé par Lufi)
@@ -170,7 +169,7 @@
CloudProblèmes de performanceAucun problème
- Certains systèmes connaissent des problèmes
+ Certains systèmes connaissent des problèmesAfficher les messages d\'étatAfficher l\'état de serviceProgrammé le :
@@ -216,4 +215,7 @@
Traducteurs:Illustrations:Résolu
+
+ Down
+ Tap for more info
diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml
index a687357..7467826 100644
--- a/app/src/main/res/values-it/strings.xml
+++ b/app/src/main/res/values-it/strings.xml
@@ -7,10 +7,9 @@
ForumChatEtherpad
- EtherCalc
+ CryptpadPrivate binUpload
- PollStatoManualiInfo su
@@ -28,7 +27,7 @@
Impostazioni NextcloudTieni i tuoi dati sincronizzati e al sicuro. Con Nextcloud puoi condividere file, calendari, contatti e altro ancora.\n\nHost:\n https://cloud.disroot.org\n\nnnome utente:\n il_tuo_nome_utente_disroot\n\nPassword:\n la_tua_password_disrootBenvenuto
- Disroot è una piattaforma che fornisce servizi online basati su principi di libertà, privacy, federazione e decentralizzazione.\nQuesta applicazione è come il tuo coltellino svizzero per la piattaforma Disroot, fatta dalla comunità per la comunità.\nSe non hai un account Disroot puoi comunque utilizzare questa app per accedere a tutti i servizi Disroot che non richiedono un account:\n \ \ \ • Etherpad\n \ \ \ • Ethercalc\n \ \ \ • Private bin\n \ \ \ • Upload\n \ \ \ • Poll\n \ \ \ • Searx\n \ \ \ • Diaspora* (richiede un conto solo per Diaspora)\n\nLa app potrebbe richiedere l\'installazione di applicazioni aggiuntive. Si consiglia vivamente di installare F-Droid - una app sotre gratuita e open source - in quanto non tutte le applicazioni possono essere trovate su Google Play Store e F-Droid è più orientato alla privacy (nessun tracking, nessun account necessario) è possibile scaricarlo toccando l\'icona F-Droid.\n
+ Disroot è una piattaforma che fornisce servizi online basati su principi di libertà, privacy, federazione e decentralizzazione.\nQuesta applicazione è come il tuo coltellino svizzero per la piattaforma Disroot, fatta dalla comunità per la comunità.\nSe non hai un account Disroot puoi comunque utilizzare questa app per accedere a tutti i servizi Disroot che non richiedono un account:\n \ \ \ • Etherpad\n \ \ \ • Cryptpad\n \ \ \ • Private bin\n \ \ \ • Upload\n \ \ \ • Poll\n \ \ \ • Searx\n \ \ \ • Diaspora* (richiede un conto solo per Diaspora)\n\nLa app potrebbe richiedere l\'installazione di applicazioni aggiuntive. Si consiglia vivamente di installare F-Droid - una app sotre gratuita e open source - in quanto non tutte le applicazioni possono essere trovate su Google Play Store e F-Droid è più orientato alla privacy (nessun tracking, nessun account necessario) è possibile scaricarlo toccando l\'icona F-Droid.\nAiutoLicenzaImpostazioni
@@ -39,8 +38,8 @@
https://disroot.org * Comunità Disroot (Disroot):F-Droid
- Librerie di terze parti
- ckCangelog: Apache License 2.0\n\nTaponium: GNU General Public License v3.0
+ Librerie di terze parti
+ ckCangelog: Apache License 2.0\n\nTaponium: GNU General Public License v3.0VarieAbbiamo usato Diolinx come base di partenza per creare questa applicazione. Vai a dare un\'occhiata, è anche software libero!Dimmi di più
@@ -69,8 +68,8 @@
Info EtherPadImpostazioni XMPP\nConversations è una app gratuita, standard e open-source, decentralizzata e federata di messaggistica istantanea per chattare con i contatti o all\'interno di gruppi.\n\nID Jabber :\n Il tuo indirizzo e-mail completo Disroot\n\nPassword :\n La tua password di Disroot
- Con EtherCalc puoi lavorare insieme su inventari, moduli di indagine, gestione degli elenchi, sessioni di brainstorming e molto altro ancora!\nNon è richiesta alcuna registrazione.
- Info EtherCalc
+ Un\'alternativa privata di design ai più diffusi strumenti per l\'ufficio.\nNon è richiesta alcuna registrazione.
+ Info CryptpadAiuto PrivateBinPrivateBin è un pastebin online open-source e un forum di discussione. I dati sono criptati/decodificati nel browser in modo che il server non abbia alcuna conoscenza dei dati ospitati. Basta incollare un testo, fare clic su “Invia”, impostare la scadenza (e altre caratteristiche) e condividere l\'URL.\nNon è richiesta alcuna registrazione.Info Upload (powered by Lufi)
@@ -126,7 +125,7 @@
CloudProblemi di performanzaNessun problema con i servizi
- Alcuni sistemi stanno avendo dei problemi
+ Alcuni sistemi stanno avendo dei problemiMostra messaggi di statoMostra stato dei serviziIn programma il: \
@@ -167,4 +166,7 @@
Traduttori:Artwork:Risolto
+
+ Down
+ Tap for more info
diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml
index 1a85440..99dc45f 100644
--- a/app/src/main/res/values-nl/strings.xml
+++ b/app/src/main/res/values-nl/strings.xml
@@ -7,10 +7,9 @@
ForumChatEtherpad
- EtherCalc
+ CryptpadPrivate binUpload
- PollStatusHow to
@@ -32,7 +31,7 @@
Nextcloud InstellingenHoud uw gegevens gesynchroniseerd en veilig. Met Nextcloud kunt u uw bestanden, kalenders, contactpersonen en meer delen.\n\nHost:\n https://cloud.disroot.org\n\nGebruikersnaam:\n uw_disroot_gebruikersnaam\n\nWachtwoord:\n uw_disroot_wachtwoord.Welkom
- Disroot is een platform dat online diensten aanbiedt op basis van de principes van vrijheid, privacy, federatie en decentralisatie.\n Deze app is als een Zwitsers mes voor het Disroot platform, gemaakt door de gemeenschap voor de gemeenschap.\nAls je geen Disroot account hebt kun je deze app nog steeds gebruiken om toegang te krijgen tot alle Disroot diensten dat geen account vereist:\n \ \ \ • Etherpad\n \ \ \ • Ethercalc\n \ \ \ • Private bin\n \ \ \ • Upload\n \ \ \ • Poll\n \ \ \ • Searx\n \ \ \ • Diaspora* (vereist een Diaspora elleen account)\n\nDe app kan vereisen dat u extra apps installeert. We raden u ten zeerste aan om F-Droid - een gratis en open source app marktplaats te installeren, omdat niet alle apps te vinden zijn in de Play Store van Google en F-Droid meer privacy georiënteerd is (geen tracking, geen account nodig), u kunt het downloaden door op het F-droid icoontje te tikken.\n
+ Disroot is een platform dat online diensten aanbiedt op basis van de principes van vrijheid, privacy, federatie en decentralisatie.\n Deze app is als een Zwitsers mes voor het Disroot platform, gemaakt door de gemeenschap voor de gemeenschap.\nAls je geen Disroot account hebt kun je deze app nog steeds gebruiken om toegang te krijgen tot alle Disroot diensten dat geen account vereist:\n \ \ \ • Cryptpad\n \ \ \ • Cryptpad\n \ \ \ • Private bin\n \ \ \ • Upload\n \ \ \ • Poll\n \ \ \ • Searx\n \ \ \ • Diaspora* (vereist een Diaspora elleen account)\n\nDe app kan vereisen dat u extra apps installeert. We raden u ten zeerste aan om F-Droid - een gratis en open source app marktplaats te installeren, omdat niet alle apps te vinden zijn in de Play Store van Google en F-Droid meer privacy georiënteerd is (geen tracking, geen account nodig), u kunt het downloaden door op het F-droid icoontje te tikken.\nHelpLicentie
@@ -51,8 +50,8 @@
https://disroot.org * Disroot Gemeenschap (Disroot):F-Droid
- Third-Party Libraries
- ckCangelog: Apache Licentie 2.0\n\nTaponium: GNU General Public License v3.0
+ Third-Party Libraries
+ ckCangelog: Apache Licentie 2.0\n\nTaponium: GNU General Public License v3.0DiversenWe hebben Diolinx als uitgangspunt gebruikt om deze app te maken. Ga eens kijken, het is ook vrije software!Vertel me meer
@@ -82,8 +81,8 @@
XMPP Instellingen\nConversations is een gratis, standaard en open-source gedecentraliseerde en gefedereerde instant messaging applicatie voor chatten met contacten of binnen groepen.
\n\nJabber ID :\n Jou Volledig Disroot email adres\n\nWachtwoord :\n Jou Disroot wachtwoord
- Met EtherCalc werken we samen aan inventarissen, enquêteformulieren, lijstbeheer, brainstormsessies en meer.\nEr is geen registratie vereist.
- EtherCalc Info
+ Een privé-alternatief voor populaire kantoortools.\nEr is geen registratie vereist.
+ Cryptpad InfoPrivateBin HelpPrivateBin is een open-source online pastebin en discussiebord. De gegevens worden gecodeerd/gedecodeerd in de browser, zodat de server geen kennis heeft van gehoste gegevens. Plak gewoon een tekst, klik op "Verzenden", stel de vervaldatum in (en andere functies) en deel de URL.\nEr is geen registratie vereist.Upload (powered by Lufi) Info
@@ -139,7 +138,7 @@
CloudPrestatieproblemenGeen problemen
- Sommige systemen ondervinden problemen
+ Sommige systemen ondervinden problemenToon statusberichtenToon Service StatusGepland op: \
@@ -180,4 +179,7 @@
Vertalers:Artwork:Opgelost
+
+ Down
+ Tap for more info
diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml
index 85891f6..18746b6 100644
--- a/app/src/main/res/values-pt-rBR/strings.xml
+++ b/app/src/main/res/values-pt-rBR/strings.xml
@@ -7,11 +7,10 @@
FórumChatPad
- Calc
+ CryptpadPaste binUploadPesquisa
- SondagensQuadro de projetosStatusTutorial
@@ -44,8 +43,8 @@
https://disroot.org * Comunidade Disrootu (Disroot):F-Droid
- Bibliotecas de Terceiros
- ckHistórico de modificações: Apache License 2.0\n\nTaponium: GNU General Public License v3.0
+ Bibliotecas de Terceiros
+ ckHistórico de modificações: Apache License 2.0\n\nTaponium: GNU General Public License v3.0DiversosUsamos o Diolinx como a base para criar este aplicativo. Pode dar uma olhada é de Software Livre!Quero saber mais
@@ -74,8 +73,8 @@
Sobre EtherPadConfigurações de XMPP\nConversations é um aplicativo de mensagens instantâneas de código livre, padrão, descentralizado e federado para conversar com seus contactos ou com grupos.\n\nID do Jabber :\n Seu endereço de email do Disroot completo\n\nSenha :\n A sua senha do Disroot
- Com o EtherCalc pode trabalhar colaborativamente com outros em inventrários, questionários, gestão de listas, sessões de brainstorming e mais!\nNão é necessário ter uma conta para usar.
- Sobre EtherCalc
+ Uma alternativa privada por projecto às ferramentas de escritório populares.\nNão é necessário ter uma conta para usar.
+ Sobre CryptpadSobre PrivateBinPrivateBin é uma ferramenta de código livre pastebin e fórum de discussão. Os dados são criptografados/descriptografados no navegador para que o servidor não possa aceder aos seus dados. Basta colar um texto e clicar no “Enviar”, definir data de expiração (e outros ajustes) e compartilhar o link URL.\nNão é necessário ter uma conta para usar.Sobre Upload (desenvolvido por Lufi)
@@ -132,7 +131,7 @@
NuvemProblemas de desempenhoTudo certo
- Alguns sistemas estão enfrentando problemas
+ Alguns sistemas estão enfrentando problemasMostrar mensagens de StatusMostrar Status de ServiçoProgramado em: \
@@ -159,7 +158,7 @@
Nome do dispositivo:Mostrar/ocultar appsConfigurações
- Disroot é uma plataforma que fornece serviços on-line baseados em princípios de liberdade, privacidade, federação e descentralização.\nEste App é como seu canivete suíço para a plataforma Disroot, feito pela comunidade para a comunidade.\nSe você não tiver uma conta do Disroot mesmo assim pode usar este App e acessar todos os serviços do Disroot que não requerem uma conta:\n \ \ \ • Etherpad\n \ \ \ • Ethercalc\n \ \ \ • Private bin\n \ \ \ • Upload\n \ \ \ • Sondagens\n \ \ \ • Searx\n \ \ \ • Chamadas\n\nnO App pode exigir que você instale aplicativos adicionais. Recomendamos fortemente que você instale o F-Droid - uma loja de aplicativos gratuitos e de código livre - nem todos os aplicativos daí podem ser encontrados na Loja de Google Play e além disso o F-Droid é mais orientado para a privacidade (sem rastreamento, sem necessidade de conta) você pode fazer o download, tocando no ícone do F-droid.\n
+ Disroot é uma plataforma que fornece serviços on-line baseados em princípios de liberdade, privacidade, federação e descentralização.\nEste App é como seu canivete suíço para a plataforma Disroot, feito pela comunidade para a comunidade.\nSe você não tiver uma conta do Disroot mesmo assim pode usar este App e acessar todos os serviços do Disroot que não requerem uma conta:\n \ \ \ • Cryptpad\n \ \ \ • Private bin\n \ \ \ • Upload\n \ \ \ • Sondagens\n \ \ \ • Searx\n \ \ \ • Chamadas\n\nnO App pode exigir que você instale aplicativos adicionais. Recomendamos fortemente que você instale o F-Droid - uma loja de aplicativos gratuitos e de código livre - nem todos os aplicativos daí podem ser encontrados na Loja de Google Play e além disso o F-Droid é mais orientado para a privacidade (sem rastreamento, sem necessidade de conta) você pode fazer o download, tocando no ícone do F-droid.\nOcultar appPainel de controleChamadas
@@ -175,4 +174,7 @@
Tradutores:Arte:Resolvido
+
+ Down
+ Tap for more info
diff --git a/app/src/main/res/values-pt/strings.xml b/app/src/main/res/values-pt/strings.xml
index 8bcd922..3021bf7 100644
--- a/app/src/main/res/values-pt/strings.xml
+++ b/app/src/main/res/values-pt/strings.xml
@@ -7,10 +7,9 @@
FórumChatEtherpad
- EtherCalc
+ CryptpadPrivate binUpload
- PollStateHow to
@@ -32,7 +31,7 @@
Definições NextcloudMantenha os seus dados sincronizados e seguros. Com o Nextcloud pode partilhar os seus ficheiros calendários, contactos e mais.\n\nHost:\n https://cloud.disroot.org\n\nNome de utilizador:\n O_seu_nome_de_utilizador_disroot\n\nPassword:\n a_sua_password_do_disroot.Bem Vindo
- O Disroot é uma plataforma baseada nos princípios de liberdade, privacidade, federação e descentralização que fornece serviços online.\nEsta aplicação é como um Canivete Suíço para a plataforma Disroot, feito pela comunidade para a comunidade.\nSe não tem uma conta Disroot pode utilizar esta aplicação para aceder a todos os serviços do Disroot que não precisam de uma conta de utilizador:\n \ \ \ • Etherpad\n \ \ \ • Ethercalc\n \ \ \ • Private bin\n \ \ \ • Upload\n \ \ \ • Poll\n \ \ \ • Searx\n \ \ \ • Diaspora* (requer uma conta apenas para o Diaspora)\n\nA aplicação pode pedir que instale outras aplicações adicionais. Nós recomendamos vivamente que instale o F-Droid - uma loja de aplicações livres e open source - porque nem todas as aplicações podem ser encontradas na Play Store Google e o F-Droid é mais focado na privacidade (sem tracking, sem preciso criar conta de utilizador) pode descarregar o F-droid carregando no ícone F-droid.\n
+ O Disroot é uma plataforma baseada nos princípios de liberdade, privacidade, federação e descentralização que fornece serviços online.\nEsta aplicação é como um Canivete Suíço para a plataforma Disroot, feito pela comunidade para a comunidade.\nSe não tem uma conta Disroot pode utilizar esta aplicação para aceder a todos os serviços do Disroot que não precisam de uma conta de utilizador:\n \ \ \ • Cryptpad\n \ \ \ • Cryptpad\n \ \ \ • Private bin\n \ \ \ • Upload\n \ \ \ • Poll\n \ \ \ • Searx\n \ \ \ • Diaspora* (requer uma conta apenas para o Diaspora)\n\nA aplicação pode pedir que instale outras aplicações adicionais. Nós recomendamos vivamente que instale o F-Droid - uma loja de aplicações livres e open source - porque nem todas as aplicações podem ser encontradas na Play Store Google e o F-Droid é mais focado na privacidade (sem tracking, sem preciso criar conta de utilizador) pode descarregar o F-droid carregando no ícone F-droid.\nAjudaLicença
@@ -50,8 +49,8 @@
https://disroot.org * Disroot Community (Disroot):F-Droid
- Bibliotecas de Terceiros
- ckCangelog: Apache License 2.0\n\nTaponium: GNU General Public License v3.0
+ Bibliotecas de Terceiros
+ ckCangelog: Apache License 2.0\n\nTaponium: GNU General Public License v3.0MiscellaneousNós usamos o Diolinx como a base para criar esta aplicação. Pode dar uma olhadela, também é Software Livre!Contem-me mais
@@ -80,8 +79,8 @@
Sobre EtherPadDefinições do XMPP\nO Conversations uma aplicação de mensagens instantâneas descentralizada e federada, livre, standard e open-source para conversar com os seus contactos ou com grupos.\n\nJabber ID :\n O seu endereço de email do Disroot completo\n\nPassword :\n A sua password do Disroot
- Com o EtherCalc pode trabalhar colaborativamente com outros em inventrários, questionários, gestão de listas, sessões de brainstorming e mais!\nNão é necessário ter uma conta de utilizador para usar.
- Sobre EtherCalc
+ Uma alternativa privada por projecto às ferramentas de escritório populares.\nNão é necessário ter uma conta de utilizador para usar.
+ Sobre CryptpadSobre PrivateBinPrivateBin é um pastebin open-souce e fórum de discussão. Os dados são encriptados e desencriptados no browser para que o servidor não possa aceder aos dados. Basta colar um texto e carregar em “Send”, definir data de expiração (e outras configurações) e partilhar o link URL.\nNão é necessário ter uma conta de utilizador para usar.Sobre Upload (Lufi)
@@ -137,7 +136,7 @@
CloudProblemas de performanceSem problemas
- Alguns serviços estão com problemas
+ Alguns serviços estão com problemasMostrar mensagens de StateMostrar estado dos serviçosAgendado para:
@@ -178,4 +177,7 @@
Tradutores:Desenho:Resolvido
+
+ Down
+ Tap for more info
diff --git a/app/src/main/res/values-sr/strings.xml b/app/src/main/res/values-sr/strings.xml
index 305820a..555912f 100644
--- a/app/src/main/res/values-sr/strings.xml
+++ b/app/src/main/res/values-sr/strings.xml
@@ -7,10 +7,9 @@
ForumĆaskanjeEtherpad
- EtherCalc
+ CryptpadPrivateBinOtpremi
- PollsStanje servisaUputstva
@@ -32,7 +31,7 @@
Nextcloud podešavanjaSinhronizujte i osigurajte vaše podatke. Pomoću Nextcloud usluge možete deliti vaše datoteke, kalendare, kontakte i još mnogo toga.\n\nServer:\n https://cloud.disroot.org\n\nKorisničko ime:\n vaše_disroot_korisničko ime\n\nLozinka:\n vaša_disroot_lozinka.Dobro došli
- Disroot platforma obezbeđuje internet usluge zasnovane na principima slobode, privatnosti, federacije i decentralizacije.\nOva aplikacija je višenamenska alatka za Disroot platformu, koju su članovi zajednice napravili za zajednicu.\nAko nemate nalog na Disroot platformi, možete koristiti ovu aplikaciju za pristup svim Disroot uslugama za koje nije potreban nalog:\n \ \ \ • Etherpad\n \ \ \ • Ethercalc\n \ \ \ • PrivateBin\n \ \ \ • Otpremi\n \ \ \ • Polls\n \ \ \ • Searx\n \ \ \ • Diaspora* (potreban zaseban Diaspora nalog)\n\nOva aplikacija možda će zahtevati instalaciju dodatnih aplikacija. Preporučujemo da instalirate F-Droid, besplatnu prodavnicu otvorenog koda, jer pojedine aplikacije nisu dostupne na Play prodavnici, a pritom F-Droid nudi više privatnosti (nema praćenja, nije potreban nalog). Aplikaciju možete preuzeti dodirom na F-droid ikonicu.\n
+ Disroot platforma obezbeđuje internet usluge zasnovane na principima slobode, privatnosti, federacije i decentralizacije.\nOva aplikacija je višenamenska alatka za Disroot platformu, koju su članovi zajednice napravili za zajednicu.\nAko nemate nalog na Disroot platformi, možete koristiti ovu aplikaciju za pristup svim Disroot uslugama za koje nije potreban nalog:\n \ \ \ • Cryptpad\n \ \ \ • Cryptpad\n \ \ \ • PrivateBin\n \ \ \ • Otpremi\n \ \ \ • Polls\n \ \ \ • Searx\n \ \ \ • Diaspora* (potreban zaseban Diaspora nalog)\n\nOva aplikacija možda će zahtevati instalaciju dodatnih aplikacija. Preporučujemo da instalirate F-Droid, besplatnu prodavnicu otvorenog koda, jer pojedine aplikacije nisu dostupne na Play prodavnici, a pritom F-Droid nudi više privatnosti (nema praćenja, nije potreban nalog). Aplikaciju možete preuzeti dodirom na F-droid ikonicu.\nPomoćLicenca
@@ -51,8 +50,8 @@
https://disroot.org * Disroot zajednica (Disroot):F-Droid
- Biblioteke treće strane
- ckCangelog: Apache License 2.0\n\nTaponium: GNU General Public License v3.0
+ Biblioteke treće strane
+ ckCangelog: Apache License 2.0\n\nTaponium: GNU General Public License v3.0OstaloIskoristili smo Diolinx kao osnovu naše aplikacije. Proverite, to je takođe besplatan softver!Detaljnije
@@ -81,8 +80,8 @@
EtherPad detaljiXMPP podešavanja\nConversations je besplatna, otvorenog koda, decentralizovana i federativna aplikacija za brzo slanje poruka i ćaskanje sa pojedincima ili grupama.\n\nJabber ID :\n Vaša puna Disroot imejl adresa\n\nLozinka :\n Vaša Disroot lozinka
- Pomoću EtherCalc-a možete grupno raditi na popisnim listama, anketnim formama, upravljanju listama, kreativnim sastancima i još mnogo čemu!\nRegistracija nije potrebna.
- EtherCalc detalji
+ Pomoću Cryptpad-a možete grupno raditi na popisnim listama, anketnim formama, upravljanju listama, kreativnim sastancima i još mnogo čemu!\nRegistracija nije potrebna.
+ Cryptpad detaljiPrivateBin pomoćPrivateBin je servis otvorenog koda, a služi kao \'korpa za odlaganje i deljenje\' i kao forum. Podaci se šifruju/dešifruju u pregledaču, što znači da server ne prepoznaje sadržaj pohranjenih datoteka. Nalepite tekst, kliknite “Pošalji”, odredite rok trajanja (i ostala obeležja) i podelite vezu.\nRegistracija nije potrebna.Otpremi (servis pokreće Lufi) Info
@@ -138,7 +137,7 @@
OblakProblemi sa performansamaNema problema
- Problemi u radu pojedinih servisa
+ Problemi u radu pojedinih servisaPrikaži poruke o stanju servisaPrikaži stanje servisaZakazano za:
@@ -179,4 +178,7 @@
Prevodioci:Crteži:Fixed
+
+ Down
+ Tap for more info
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index b637f38..11c792b 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -1,4 +1,4 @@
-
+Disroot AppHomeMail
@@ -7,11 +7,10 @@
ForumChatPad
- Calc
+ CryptpadPaste binUploadSearch
- PollsProject boardStateHow to
@@ -44,8 +43,8 @@
https://disroot.org * Disroot Community (Disroot):F-Droid
- Third-Party Libraries
- ckChangelog: Apache License 2.0\n\nTaponium: GNU General Public License v3.0
+ Third-Party Libraries
+ ckChangelog: Apache License 2.0\n\nTaponium: GNU General Public License v3.0MiscellaneousWe used Diolinux as our starting base to create this app. Go check it out, it\'s free software as well!Tell me more
@@ -67,15 +66,15 @@
Share the appDisroot webLast couple of things!
- • 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.
+ • 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 maintenance 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.Diaspora* SettingsDistributed and decentralized social network. Post, share, like, create communities.\n\nUsername:\n your_diaspora_username@pod.disroot.org\n\nPassword:\n your_diaspora_passwordWith 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.EtherPad InfoXMPP Settings\nConversations is a free, standard and open-source decentralized and federated instant messaging application for chatting with contacts or within groups.\n\nJabber ID :\n Your full Disroot email address\n\nPassword :\n Your Disroot password
- With EtherCalc work together on inventories, survey forms, list management, brainstorming sessions and more!\nNo registration is required.
- EtherCalc Info
+ A private-by-design alternative to popular office tools.\nNo registration is required.
+ Cryptpad InfoPrivateBin HelpPrivateBin is an open-source online pastebin and discussion board. Data is encrypted/decrypted in the browser so that the server has zero knowledge of hosted data. Just paste a text, click “Send”, set expiration (and other features) and share the URL.\nNo registration is required.Upload (powered by Lufi) Info
@@ -92,7 +91,7 @@
Page to see the current state of Disroot services. Here you can see if any service has a problem, if there are any performance issues, as well as get to know when we schedule maintenance in which time some services might be unavailable.\n\nAlternative ways to get State updates:State on XMPPHow to Info
- Our page with howtos and tutorials to help you find your way around the various Disroot services.
+ Our page with howto\'s and tutorials to help you find your way around the various Disroot services.About InfoThis is the about page of this appForum Help
@@ -132,7 +131,7 @@
CloudPerformance IssuesNo issues
- Some systems are experiencing issues
+ Some systems are experiencing issuesShow State messagesShow Service StateScheduled at: \
@@ -159,7 +158,7 @@
Device name:Show/hide appsSettings
- Disroot is a platform providing online services based on principles of freedom, privacy, federation and decentralization.\nThis app is like your Swiss Army knife to the Disroot platform, made by the community for the community.\nIf you don\'t have a Disroot account you can still use this app to access all the Disroot services that do not require an account:\n \ \ \ • Etherpad\n \ \ \ • Ethercalc\n \ \ \ • Private bin\n \ \ \ • Upload\n \ \ \ • Poll\n \ \ \ • Searx\n \ \ \ • Calls\n\nThe app may require you to install additional apps. We highly recommend you install F-Droid - a free and open source app marketplace - as not all apps can be found on Google\'s Play Store and F-Droid is more privacy oriented (no tracking, no account needed) you can download it by tapping on the F-droid icon.\n
+ Disroot is a platform providing online services based on principles of freedom, privacy, federation and decentralization.\nThis app is like your Swiss Army knife to the Disroot platform, made by the community for the community.\nIf you don\'t have a Disroot account you can still use this app to access all the Disroot services that do not require an account:\n \ \ \ • Etherpad\n \ \ \ • Cryptpad\n \ \ \ • Private bin\n \ \ \ • Upload\n \ \ \ • Poll\n \ \ \ • Searx\n \ \ \ • Calls\n\nThe app may require you to install additional apps. We highly recommend you install F-Droid - a free and open source app marketplace - as not all apps can be found on Google\'s Play Store and F-Droid is more privacy oriented (no tracking, no account needed) you can download it by tapping on the F-droid icon.\nHide appDashboardCalls
@@ -174,7 +173,7 @@
Developers:Translators:Artwork:
- Risolto
- Down!
- Tippen Sie für weitere Informationen
+ Solved
+ Down
+ Tap for more info
diff --git a/app/src/main/res/xml/changelog_master.xml b/app/src/main/res/xml/changelog_master.xml
index 21d099f..6fa390f 100644
--- a/app/src/main/res/xml/changelog_master.xml
+++ b/app/src/main/res/xml/changelog_master.xml
@@ -2,6 +2,7 @@
Migration to new cState "https://status.disroot.org"
+ Added Cryptpad and removed obsolete Calc + PollsUpdated SDK and gradle
@@ -24,12 +25,12 @@
Cleaned up code for better maintenance
- Made Third party links klickable
+ Made Third party links clickableMade application info fully translatableMade Device info fully translatable
- Removed battery optimization promt on updates
+ Removed battery optimization prompt on updatesCorrected links in description in F-droidAdded Sr and De translations of the description in F-DroidSpanish en German translation updated
@@ -83,7 +84,7 @@
A few other small fixes
- Third partie cookies disabled
+ Third party cookies disabledFixed French translationAdded more clear dialogs for additional apps
diff --git a/metadata/de-DE/full_description.txt b/metadata/de-DE/full_description.txt
index 14faf20..b6d5474 100644
--- a/metadata/de-DE/full_description.txt
+++ b/metadata/de-DE/full_description.txt
@@ -2,7 +2,7 @@
Diese App ist Dein Schweizer Taschenmesser für die Disroot-Plattform, von der Gemeinschaft für die Gemeinschaft.
Auch wenn Du keinen Disroot-Account hast, kannst Du diese App benutzen, um auf alle Disroot-Dienste zuzugreifen, die keinen Account benötigen:
* Etherpad
-* Ethercalc
+* Cryptpad
* Private bin
* Upload
* Poll
diff --git a/metadata/en-US/full_description.txt b/metadata/en-US/full_description.txt
index 6d92238..c6b9cb8 100644
--- a/metadata/en-US/full_description.txt
+++ b/metadata/en-US/full_description.txt
@@ -2,7 +2,7 @@
This app is like your Swiss Army knife to the Disroot platform, made by the community for the community.
If you don't have a Disroot account you can still use this app to access all the Disroot services that do not require an account:
* Etherpad
-* Ethercalc
+* Cryptpad
* Private bin
* Upload
* Poll
diff --git a/metadata/es-ES/full_description.txt b/metadata/es-ES/full_description.txt
index c435992..97a909c 100644
--- a/metadata/es-ES/full_description.txt
+++ b/metadata/es-ES/full_description.txt
@@ -2,7 +2,7 @@
Esta aplicación es como la navaja suiza de la plataforma Disroot, hecha por la comunidad para la comunidad.
Si no tienes una cuenta de Disroot igual puedes utilizar esta aplicación para acceder a todos los servicios que no la requieren:
* Etherpad
-* Ethercalc
+* Cryptpad
* Private bin
* Subir archivos
* Encuestas
diff --git a/metadata/fr-FR/full_description.txt b/metadata/fr-FR/full_description.txt
index cb8daa3..9c930f8 100644
--- a/metadata/fr-FR/full_description.txt
+++ b/metadata/fr-FR/full_description.txt
@@ -2,7 +2,7 @@
Cette application est comme votre couteau suisse sur la plateforme Disroot, faite par la communauté pour la communauté.
Si vous n'avez pas de compte Disroot, vous pouvez toujours utiliser cette application pour accéder à tous les services Disroot qui ne nécessitent pas de compte :
* Etherpad
-* Ethercalc
+* Cryptpad
* Private bin
* Upload (Téléverser)
* Poll (Sondage)
diff --git a/metadata/it-IT/full_description.txt b/metadata/it-IT/full_description.txt
index 9b2f4b0..0272b27 100644
--- a/metadata/it-IT/full_description.txt
+++ b/metadata/it-IT/full_description.txt
@@ -2,7 +2,7 @@
Questa applicazione è come il tuo coltellino svizzero per la piattaforma Disroot, realizzata dalla comunità per la comunità.
Se non si dispone di un account Disroot è comunque possibile utilizzare questa applicazione per accedere a tutti i servizi Disroot che non richiedono un account:
* Etherpad
-* Ethercalc
+* Cryptpad
* Private bin
* Upload
* Poll
diff --git a/metadata/nl-NL/full_description.txt b/metadata/nl-NL/full_description.txt
index fa20ef2..5d4ebdd 100644
--- a/metadata/nl-NL/full_description.txt
+++ b/metadata/nl-NL/full_description.txt
@@ -2,7 +2,7 @@
Deze app is als uw Zwitsers legermes voor het Disroot-platform, gemaakt door de gemeenschap voor de gemeenschap.
Als u geen Disroot account heeft kunt u deze app nog steeds gebruiken om toegang te krijgen tot alle Disroot diensten die geen account nodig hebben:
* Etherpad
-* Ethercalc
+* Cryptpad
* Private bin
* Upload
* Poll
diff --git a/metadata/sr-SR/full_description.txt b/metadata/sr-SR/full_description.txt
index 8292d3f..7a3384e 100644
--- a/metadata/sr-SR/full_description.txt
+++ b/metadata/sr-SR/full_description.txt
@@ -2,7 +2,7 @@
Ova aplikacija je višenamenska alatka za Disroot platformu, koju su članovi zajednice napravili za zajednicu.
Ako nemate nalog na Disroot platformi, možete koristiti ovu aplikaciju za pristup svim Disroot uslugama za koje nije potreban nalog:
* Etherpad
-* Ethercalc
+* Cryptpad
* Private bin
* Upload
* Poll