Add release note inside the app.
This commit is contained in:
parent
7449f5b1df
commit
a80d2a730f
|
@ -242,20 +242,20 @@ public class AboutActivity extends BaseActivity implements OnRetrieveRemoteAccou
|
||||||
|
|
||||||
if (MainActivity.social == UpdateAccountInfoAsyncTask.SOCIAL.MASTODON || MainActivity.social == UpdateAccountInfoAsyncTask.SOCIAL.PLEROMA) {
|
if (MainActivity.social == UpdateAccountInfoAsyncTask.SOCIAL.MASTODON || MainActivity.social == UpdateAccountInfoAsyncTask.SOCIAL.PLEROMA) {
|
||||||
new RetrieveRemoteDataAsyncTask(getApplicationContext(), "kasun", "toot.fedilab.app", AboutActivity.this).executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
|
new RetrieveRemoteDataAsyncTask(getApplicationContext(), "kasun", "toot.fedilab.app", AboutActivity.this).executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
|
||||||
new RetrieveRemoteDataAsyncTask(getApplicationContext(), "fedilab", "framapiaf.org", AboutActivity.this).executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
|
new RetrieveRemoteDataAsyncTask(getApplicationContext(), "fedilab", "oot.fedilab.app", AboutActivity.this).executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
|
||||||
new RetrieveRemoteDataAsyncTask(getApplicationContext(), "mmarif", "mastodon.social", AboutActivity.this).executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
|
new RetrieveRemoteDataAsyncTask(getApplicationContext(), "mmarif", "mastodon.social", AboutActivity.this).executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
|
||||||
new RetrieveRemoteDataAsyncTask(getApplicationContext(), "PhotonQyv", "mastodon.xyz", AboutActivity.this).executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
|
new RetrieveRemoteDataAsyncTask(getApplicationContext(), "PhotonQyv", "mastodon.xyz", AboutActivity.this).executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
|
||||||
new RetrieveRemoteDataAsyncTask(getApplicationContext(), "angrytux", "social.tchncs.de", AboutActivity.this).executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
|
new RetrieveRemoteDataAsyncTask(getApplicationContext(), "angrytux", "social.tchncs.de", AboutActivity.this).executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
|
||||||
new RetrieveRemoteDataAsyncTask(getApplicationContext(), "guzzisti", "mastodon.social", AboutActivity.this).executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
|
new RetrieveRemoteDataAsyncTask(getApplicationContext(), "guzzisti", "mastodon.social", AboutActivity.this).executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
|
||||||
} else {
|
} else {
|
||||||
SpannableString name = new SpannableString("@fedilab@framapiaf.org");
|
SpannableString name = new SpannableString("@fedilab@toot.fedilab.app");
|
||||||
name.setSpan(new UnderlineSpan(), 0, name.length(), 0);
|
name.setSpan(new UnderlineSpan(), 0, name.length(), 0);
|
||||||
txt_developers.setText(name);
|
txt_developers.setText(name);
|
||||||
txt_developers.setVisibility(View.VISIBLE);
|
txt_developers.setVisibility(View.VISIBLE);
|
||||||
txt_developers.setOnClickListener(new View.OnClickListener() {
|
txt_developers.setOnClickListener(new View.OnClickListener() {
|
||||||
@Override
|
@Override
|
||||||
public void onClick(View v) {
|
public void onClick(View v) {
|
||||||
Helper.openBrowser(AboutActivity.this, "https://framapiaf.org/@fedilab");
|
Helper.openBrowser(AboutActivity.this, "https://toot.fedilab.app/@fedilab");
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
name = new SpannableString("@mmarif@mastodon.social");
|
name = new SpannableString("@mmarif@mastodon.social");
|
||||||
|
@ -314,7 +314,7 @@ public class AboutActivity extends BaseActivity implements OnRetrieveRemoteAccou
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onRetrieveRemoteAccount(Results results) {
|
public void onRetrieveRemoteAccount(Results results, boolean developerAccount) {
|
||||||
if (results == null) {
|
if (results == null) {
|
||||||
Toasty.error(getApplicationContext(), getString(R.string.toast_error), Toast.LENGTH_LONG).show();
|
Toasty.error(getApplicationContext(), getString(R.string.toast_error), Toast.LENGTH_LONG).show();
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -33,6 +33,7 @@ import android.net.Uri;
|
||||||
import android.os.AsyncTask;
|
import android.os.AsyncTask;
|
||||||
import android.os.Build;
|
import android.os.Build;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
|
import android.os.Handler;
|
||||||
import android.os.Parcelable;
|
import android.os.Parcelable;
|
||||||
import android.preference.PreferenceManager;
|
import android.preference.PreferenceManager;
|
||||||
import android.util.Patterns;
|
import android.util.Patterns;
|
||||||
|
@ -74,7 +75,10 @@ import com.google.android.material.floatingactionbutton.FloatingActionButton;
|
||||||
import com.google.android.material.navigation.NavigationView;
|
import com.google.android.material.navigation.NavigationView;
|
||||||
import com.google.android.material.tabs.TabLayout;
|
import com.google.android.material.tabs.TabLayout;
|
||||||
|
|
||||||
|
import java.io.BufferedReader;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.io.InputStreamReader;
|
||||||
import java.lang.ref.WeakReference;
|
import java.lang.ref.WeakReference;
|
||||||
import java.lang.reflect.Method;
|
import java.lang.reflect.Method;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
@ -93,19 +97,23 @@ import app.fedilab.android.asynctasks.RetrieveFeedsAsyncTask;
|
||||||
import app.fedilab.android.asynctasks.RetrieveInstanceAsyncTask;
|
import app.fedilab.android.asynctasks.RetrieveInstanceAsyncTask;
|
||||||
import app.fedilab.android.asynctasks.RetrieveMetaDataAsyncTask;
|
import app.fedilab.android.asynctasks.RetrieveMetaDataAsyncTask;
|
||||||
import app.fedilab.android.asynctasks.RetrievePeertubeInformationAsyncTask;
|
import app.fedilab.android.asynctasks.RetrievePeertubeInformationAsyncTask;
|
||||||
|
import app.fedilab.android.asynctasks.RetrieveRelationshipAsyncTask;
|
||||||
import app.fedilab.android.asynctasks.RetrieveRemoteDataAsyncTask;
|
import app.fedilab.android.asynctasks.RetrieveRemoteDataAsyncTask;
|
||||||
import app.fedilab.android.asynctasks.SyncTimelinesAsyncTask;
|
import app.fedilab.android.asynctasks.SyncTimelinesAsyncTask;
|
||||||
import app.fedilab.android.asynctasks.UpdateAccountInfoAsyncTask;
|
import app.fedilab.android.asynctasks.UpdateAccountInfoAsyncTask;
|
||||||
import app.fedilab.android.asynctasks.UpdateAccountInfoByIDAsyncTask;
|
import app.fedilab.android.asynctasks.UpdateAccountInfoByIDAsyncTask;
|
||||||
import app.fedilab.android.client.APIResponse;
|
import app.fedilab.android.client.APIResponse;
|
||||||
import app.fedilab.android.client.Entities.Account;
|
import app.fedilab.android.client.Entities.Account;
|
||||||
|
import app.fedilab.android.client.Entities.Error;
|
||||||
import app.fedilab.android.client.Entities.Filters;
|
import app.fedilab.android.client.Entities.Filters;
|
||||||
import app.fedilab.android.client.Entities.Instance;
|
import app.fedilab.android.client.Entities.Instance;
|
||||||
import app.fedilab.android.client.Entities.ManageTimelines;
|
import app.fedilab.android.client.Entities.ManageTimelines;
|
||||||
|
import app.fedilab.android.client.Entities.Relationship;
|
||||||
import app.fedilab.android.client.Entities.Results;
|
import app.fedilab.android.client.Entities.Results;
|
||||||
import app.fedilab.android.client.Entities.Status;
|
import app.fedilab.android.client.Entities.Status;
|
||||||
import app.fedilab.android.client.Entities.TagTimeline;
|
import app.fedilab.android.client.Entities.TagTimeline;
|
||||||
import app.fedilab.android.client.Entities.Version;
|
import app.fedilab.android.client.Entities.Version;
|
||||||
|
import app.fedilab.android.drawers.AccountSearchDevAdapter;
|
||||||
import app.fedilab.android.fragments.DisplayAccountsFragment;
|
import app.fedilab.android.fragments.DisplayAccountsFragment;
|
||||||
import app.fedilab.android.fragments.DisplayBookmarksPixelfedFragment;
|
import app.fedilab.android.fragments.DisplayBookmarksPixelfedFragment;
|
||||||
import app.fedilab.android.fragments.DisplayDraftsFragment;
|
import app.fedilab.android.fragments.DisplayDraftsFragment;
|
||||||
|
@ -123,12 +131,14 @@ import app.fedilab.android.fragments.TabLayoutNotificationsFragment;
|
||||||
import app.fedilab.android.fragments.TabLayoutScheduleFragment;
|
import app.fedilab.android.fragments.TabLayoutScheduleFragment;
|
||||||
import app.fedilab.android.fragments.WhoToFollowFragment;
|
import app.fedilab.android.fragments.WhoToFollowFragment;
|
||||||
import app.fedilab.android.helper.CrossActions;
|
import app.fedilab.android.helper.CrossActions;
|
||||||
|
import app.fedilab.android.helper.ExpandableHeightListView;
|
||||||
import app.fedilab.android.helper.Helper;
|
import app.fedilab.android.helper.Helper;
|
||||||
import app.fedilab.android.helper.MenuFloating;
|
import app.fedilab.android.helper.MenuFloating;
|
||||||
import app.fedilab.android.interfaces.OnFilterActionInterface;
|
import app.fedilab.android.interfaces.OnFilterActionInterface;
|
||||||
import app.fedilab.android.interfaces.OnRetrieveEmojiAccountInterface;
|
import app.fedilab.android.interfaces.OnRetrieveEmojiAccountInterface;
|
||||||
import app.fedilab.android.interfaces.OnRetrieveInstanceInterface;
|
import app.fedilab.android.interfaces.OnRetrieveInstanceInterface;
|
||||||
import app.fedilab.android.interfaces.OnRetrieveMetaDataInterface;
|
import app.fedilab.android.interfaces.OnRetrieveMetaDataInterface;
|
||||||
|
import app.fedilab.android.interfaces.OnRetrieveRelationshipInterface;
|
||||||
import app.fedilab.android.interfaces.OnRetrieveRemoteAccountInterface;
|
import app.fedilab.android.interfaces.OnRetrieveRemoteAccountInterface;
|
||||||
import app.fedilab.android.interfaces.OnSyncTimelineInterface;
|
import app.fedilab.android.interfaces.OnSyncTimelineInterface;
|
||||||
import app.fedilab.android.interfaces.OnUpdateAccountInfoInterface;
|
import app.fedilab.android.interfaces.OnUpdateAccountInfoInterface;
|
||||||
|
@ -147,7 +157,7 @@ import static app.fedilab.android.helper.Helper.changeDrawableColor;
|
||||||
|
|
||||||
|
|
||||||
public abstract class BaseMainActivity extends BaseActivity
|
public abstract class BaseMainActivity extends BaseActivity
|
||||||
implements NavigationView.OnNavigationItemSelectedListener, OnUpdateAccountInfoInterface, OnRetrieveMetaDataInterface, OnRetrieveInstanceInterface, OnRetrieveRemoteAccountInterface, OnRetrieveEmojiAccountInterface, OnFilterActionInterface, OnSyncTimelineInterface {
|
implements NavigationView.OnNavigationItemSelectedListener, OnUpdateAccountInfoInterface, OnRetrieveMetaDataInterface, OnRetrieveInstanceInterface, OnRetrieveRemoteAccountInterface, OnRetrieveEmojiAccountInterface, OnFilterActionInterface, OnSyncTimelineInterface, OnRetrieveRelationshipInterface {
|
||||||
|
|
||||||
|
|
||||||
public static String currentLocale;
|
public static String currentLocale;
|
||||||
|
@ -184,6 +194,8 @@ public abstract class BaseMainActivity extends BaseActivity
|
||||||
private Activity activity;
|
private Activity activity;
|
||||||
private BroadcastReceiver hidde_menu, update_topbar;
|
private BroadcastReceiver hidde_menu, update_topbar;
|
||||||
private Instance instanceClass;
|
private Instance instanceClass;
|
||||||
|
private View dialogReleaseNoteView;
|
||||||
|
private List<Account> developers;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
|
@ -1184,7 +1196,6 @@ public abstract class BaseMainActivity extends BaseActivity
|
||||||
delete_instance.setVisibility(View.GONE);
|
delete_instance.setVisibility(View.GONE);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
final int[] count2 = {0};
|
|
||||||
|
|
||||||
// Asked once for notification opt-in
|
// Asked once for notification opt-in
|
||||||
boolean popupShown = sharedpreferences.getBoolean(Helper.SET_POPUP_PUSH, false);
|
boolean popupShown = sharedpreferences.getBoolean(Helper.SET_POPUP_PUSH, false);
|
||||||
|
@ -1276,14 +1287,68 @@ public abstract class BaseMainActivity extends BaseActivity
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
try {
|
try {
|
||||||
dialogBuilderOptin.show();
|
Handler handler = new Handler();
|
||||||
} catch (Exception ignored) {
|
handler.postDelayed(new Runnable() {
|
||||||
}
|
public void run() {
|
||||||
|
dialogBuilderOptin.show();
|
||||||
|
}
|
||||||
|
}, 1000);
|
||||||
|
} catch (Exception ignored) {}
|
||||||
|
|
||||||
|
}else{
|
||||||
|
|
||||||
|
int lastReleaseNoteRead = sharedpreferences.getInt(Helper.SET_POPUP_RELEASE_NOTES, 0);
|
||||||
|
int versionCode = BuildConfig.VERSION_CODE;
|
||||||
|
if( lastReleaseNoteRead != versionCode ){ //Need to push release notes
|
||||||
|
new RetrieveRemoteDataAsyncTask(getApplicationContext(), BaseMainActivity.this).executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
|
||||||
|
BufferedReader reader = null;
|
||||||
|
try {
|
||||||
|
reader = new BufferedReader(
|
||||||
|
new InputStreamReader(getAssets().open("changelogs/"+versionCode+".txt")));
|
||||||
|
String mLine;
|
||||||
|
StringBuilder finalContent = new StringBuilder();
|
||||||
|
while ((mLine = reader.readLine()) != null) {
|
||||||
|
finalContent.append(mLine).append("\n");
|
||||||
|
}
|
||||||
|
AlertDialog.Builder dialogBuilderOptin = new AlertDialog.Builder(BaseMainActivity.this, style);
|
||||||
|
LayoutInflater inflater = getLayoutInflater();
|
||||||
|
dialogReleaseNoteView = inflater.inflate(R.layout.popup_release_notes, new LinearLayout(getApplicationContext()), false);
|
||||||
|
dialogBuilderOptin.setView(dialogReleaseNoteView);
|
||||||
|
TextView release_title = dialogReleaseNoteView.findViewById(R.id.release_title);
|
||||||
|
TextView release_notes = dialogReleaseNoteView.findViewById(R.id.release_notes);
|
||||||
|
release_title.setText(getString(R.string.release_note_title, BuildConfig.VERSION_NAME));
|
||||||
|
release_notes.setText(finalContent);
|
||||||
|
|
||||||
|
dialogBuilderOptin.setPositiveButton(R.string.close, new DialogInterface.OnClickListener() {
|
||||||
|
public void onClick(DialogInterface dialog, int id) {
|
||||||
|
dialog.dismiss();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
try {
|
||||||
|
Handler handler = new Handler();
|
||||||
|
handler.postDelayed(new Runnable() {
|
||||||
|
public void run() {
|
||||||
|
dialogBuilderOptin.show();
|
||||||
|
}
|
||||||
|
}, 1000);
|
||||||
|
} catch (Exception ignored) {}
|
||||||
|
}
|
||||||
|
catch (IOException ignored) {}
|
||||||
|
finally {
|
||||||
|
if (reader != null) {
|
||||||
|
try {
|
||||||
|
reader.close();
|
||||||
|
} catch (IOException ignored) {}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
SharedPreferences.Editor editor = sharedpreferences.edit();
|
||||||
|
editor.putInt(Helper.SET_POPUP_RELEASE_NOTES, versionCode);
|
||||||
|
editor.apply();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
Helper.switchLayout(BaseMainActivity.this);
|
Helper.switchLayout(BaseMainActivity.this);
|
||||||
|
|
||||||
|
|
||||||
mamageNewIntent(getIntent());
|
mamageNewIntent(getIntent());
|
||||||
|
|
||||||
if (social == UpdateAccountInfoAsyncTask.SOCIAL.MASTODON || social == UpdateAccountInfoAsyncTask.SOCIAL.PLEROMA || social == UpdateAccountInfoAsyncTask.SOCIAL.GNU || social == UpdateAccountInfoAsyncTask.SOCIAL.FRIENDICA) {
|
if (social == UpdateAccountInfoAsyncTask.SOCIAL.MASTODON || social == UpdateAccountInfoAsyncTask.SOCIAL.PLEROMA || social == UpdateAccountInfoAsyncTask.SOCIAL.GNU || social == UpdateAccountInfoAsyncTask.SOCIAL.FRIENDICA) {
|
||||||
|
@ -2000,23 +2065,45 @@ public abstract class BaseMainActivity extends BaseActivity
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onRetrieveRemoteAccount(Results results) {
|
public void onRetrieveRemoteAccount(Results results, boolean developerAccount) {
|
||||||
if (results == null)
|
if (results == null)
|
||||||
return;
|
return;
|
||||||
List<Account> accounts = results.getAccounts();
|
List<Account> accounts = results.getAccounts();
|
||||||
List<Status> statuses = results.getStatuses();
|
List<Status> statuses = results.getStatuses();
|
||||||
if (accounts != null && accounts.size() > 0) {
|
if( !developerAccount) {
|
||||||
Intent intent = new Intent(BaseMainActivity.this, ShowAccountActivity.class);
|
|
||||||
Bundle b = new Bundle();
|
if (accounts != null && accounts.size() > 0) {
|
||||||
b.putParcelable("account", accounts.get(0));
|
Intent intent = new Intent(BaseMainActivity.this, ShowAccountActivity.class);
|
||||||
intent.putExtras(b);
|
Bundle b = new Bundle();
|
||||||
startActivity(intent);
|
b.putParcelable("account", accounts.get(0));
|
||||||
} else if (statuses != null && statuses.size() > 0) {
|
intent.putExtras(b);
|
||||||
Intent intent = new Intent(getApplicationContext(), ShowConversationActivity.class);
|
startActivity(intent);
|
||||||
Bundle b = new Bundle();
|
} else if (statuses != null && statuses.size() > 0) {
|
||||||
b.putParcelable("status", statuses.get(0));
|
Intent intent = new Intent(getApplicationContext(), ShowConversationActivity.class);
|
||||||
intent.putExtras(b);
|
Bundle b = new Bundle();
|
||||||
startActivity(intent);
|
b.putParcelable("status", statuses.get(0));
|
||||||
|
intent.putExtras(b);
|
||||||
|
startActivity(intent);
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
if( accounts != null && accounts.size() > 0 ) {
|
||||||
|
developers = new ArrayList<>();
|
||||||
|
developers.addAll(accounts);
|
||||||
|
new RetrieveRelationshipAsyncTask(getApplicationContext(), accounts.get(0).getId(), BaseMainActivity.this).executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onRetrieveRelationship(Relationship relationship, Error error) {
|
||||||
|
if( dialogReleaseNoteView != null && developers != null && developers.size() > 0){
|
||||||
|
if( !relationship.isFollowing()){
|
||||||
|
ExpandableHeightListView lv_developers = dialogReleaseNoteView.findViewById(R.id.lv_developers);
|
||||||
|
lv_developers.setExpanded(true);
|
||||||
|
AccountSearchDevAdapter accountSearchWebAdapterDeveloper = new AccountSearchDevAdapter(developers);
|
||||||
|
lv_developers.setAdapter(accountSearchWebAdapterDeveloper);
|
||||||
|
accountSearchWebAdapterDeveloper.notifyDataSetChanged();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2315,6 +2402,8 @@ public abstract class BaseMainActivity extends BaseActivity
|
||||||
return toot.getVisibility() == View.VISIBLE;
|
return toot.getVisibility() == View.VISIBLE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public enum iconLauncher {
|
public enum iconLauncher {
|
||||||
BUBBLES,
|
BUBBLES,
|
||||||
FEDIVERSE,
|
FEDIVERSE,
|
||||||
|
|
|
@ -140,7 +140,7 @@ public class OpencollectiveActivity extends BaseActivity implements OnRetrieveRe
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onRetrieveRemoteAccount(Results results) {
|
public void onRetrieveRemoteAccount(Results results, boolean devAccount) {
|
||||||
SharedPreferences sharedpreferences = getSharedPreferences(Helper.APP_PREFS, MODE_PRIVATE);
|
SharedPreferences sharedpreferences = getSharedPreferences(Helper.APP_PREFS, MODE_PRIVATE);
|
||||||
if (results == null) {
|
if (results == null) {
|
||||||
Toasty.error(getApplicationContext(), getString(R.string.toast_error), Toast.LENGTH_LONG).show();
|
Toasty.error(getApplicationContext(), getString(R.string.toast_error), Toast.LENGTH_LONG).show();
|
||||||
|
|
|
@ -139,7 +139,7 @@ public class PartnerShipActivity extends BaseActivity implements OnRetrieveRemot
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onRetrieveRemoteAccount(Results results) {
|
public void onRetrieveRemoteAccount(Results results, boolean devAccount) {
|
||||||
SharedPreferences sharedpreferences = getSharedPreferences(Helper.APP_PREFS, MODE_PRIVATE);
|
SharedPreferences sharedpreferences = getSharedPreferences(Helper.APP_PREFS, MODE_PRIVATE);
|
||||||
if (results == null) {
|
if (results == null) {
|
||||||
Toasty.error(getApplicationContext(), getString(R.string.toast_error), Toast.LENGTH_LONG).show();
|
Toasty.error(getApplicationContext(), getString(R.string.toast_error), Toast.LENGTH_LONG).show();
|
||||||
|
|
|
@ -53,7 +53,7 @@ public class RetrieveOpenCollectiveAsyncTask extends AsyncTask<Void, Void, Void>
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onPostExecute(Void result) {
|
protected void onPostExecute(Void result) {
|
||||||
listener.onRetrieveRemoteAccount(results);
|
listener.onRetrieveRemoteAccount(results, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
public enum Type {
|
public enum Type {
|
||||||
|
|
|
@ -39,8 +39,16 @@ public class RetrieveRemoteDataAsyncTask extends AsyncTask<Void, Void, Void> {
|
||||||
private String url;
|
private String url;
|
||||||
private Results results;
|
private Results results;
|
||||||
private WeakReference<Context> contextReference;
|
private WeakReference<Context> contextReference;
|
||||||
|
private boolean developerAccount = false;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public RetrieveRemoteDataAsyncTask(Context context, OnRetrieveRemoteAccountInterface onRetrieveRemoteAccountInterface) {
|
||||||
|
this.url = "https://toot.fedilab.app/@fedilab";
|
||||||
|
developerAccount = true;
|
||||||
|
this.listener = onRetrieveRemoteAccountInterface;
|
||||||
|
this.contextReference = new WeakReference<>(context);
|
||||||
|
}
|
||||||
public RetrieveRemoteDataAsyncTask(Context context, String username, String instance, OnRetrieveRemoteAccountInterface onRetrieveRemoteAccountInterface) {
|
public RetrieveRemoteDataAsyncTask(Context context, String username, String instance, OnRetrieveRemoteAccountInterface onRetrieveRemoteAccountInterface) {
|
||||||
this.url = Helper.instanceWithProtocol(context, instance) + "/@" + username;
|
this.url = Helper.instanceWithProtocol(context, instance) + "/@" + username;
|
||||||
this.listener = onRetrieveRemoteAccountInterface;
|
this.listener = onRetrieveRemoteAccountInterface;
|
||||||
|
@ -64,7 +72,7 @@ public class RetrieveRemoteDataAsyncTask extends AsyncTask<Void, Void, Void> {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onPostExecute(Void result) {
|
protected void onPostExecute(Void result) {
|
||||||
listener.onRetrieveRemoteAccount(results);
|
listener.onRetrieveRemoteAccount(results, developerAccount);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,7 +13,6 @@ import android.graphics.BitmapFactory;
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.os.Environment;
|
import android.os.Environment;
|
||||||
import android.util.Log;
|
|
||||||
import android.widget.Toast;
|
import android.widget.Toast;
|
||||||
|
|
||||||
import androidx.appcompat.app.AlertDialog;
|
import androidx.appcompat.app.AlertDialog;
|
||||||
|
@ -268,8 +267,6 @@ public class ColorSettingsFragment extends PreferenceFragmentCompat implements S
|
||||||
Preference pref_import = findPreference("pref_import");
|
Preference pref_import = findPreference("pref_import");
|
||||||
Preference pref_export = findPreference("pref_export");
|
Preference pref_export = findPreference("pref_export");
|
||||||
Preference reset_pref = findPreference("reset_pref");
|
Preference reset_pref = findPreference("reset_pref");
|
||||||
Log.v(Helper.TAG,"preferenceScreen! " + preferenceScreen);
|
|
||||||
Log.v(Helper.TAG,"theme_link_color! " + theme_link_color);
|
|
||||||
if (!sharedpreferences.getBoolean("use_custom_theme", false) ) {
|
if (!sharedpreferences.getBoolean("use_custom_theme", false) ) {
|
||||||
preferenceScreen.removePreference(theme_link_color);
|
preferenceScreen.removePreference(theme_link_color);
|
||||||
preferenceScreen.removePreference(theme_boost_header_color);
|
preferenceScreen.removePreference(theme_boost_header_color);
|
||||||
|
|
|
@ -264,7 +264,7 @@ public class ContentSettingsFragment extends Fragment implements OnRetrieveRemot
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onRetrieveRemoteAccount(Results results) {
|
public void onRetrieveRemoteAccount(Results results, boolean devAccount) {
|
||||||
if (results == null) {
|
if (results == null) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
|
@ -337,6 +337,7 @@ public class Helper {
|
||||||
public static final String SET_TIME_TO = "set_time_to";
|
public static final String SET_TIME_TO = "set_time_to";
|
||||||
public static final String SET_AUTO_STORE = "set_auto_store";
|
public static final String SET_AUTO_STORE = "set_auto_store";
|
||||||
public static final String SET_POPUP_PUSH = "set_popup_push_new";
|
public static final String SET_POPUP_PUSH = "set_popup_push_new";
|
||||||
|
public static final String SET_POPUP_RELEASE_NOTES = "set_popup_push_release_notes";
|
||||||
public static final String SET_NSFW_TIMEOUT = "set_nsfw_timeout";
|
public static final String SET_NSFW_TIMEOUT = "set_nsfw_timeout";
|
||||||
public static final String SET_MED_DESC_TIMEOUT = "set_med_desc_timeout";
|
public static final String SET_MED_DESC_TIMEOUT = "set_med_desc_timeout";
|
||||||
public static final String SET_MEDIA_URLS = "set_media_urls";
|
public static final String SET_MEDIA_URLS = "set_media_urls";
|
||||||
|
|
|
@ -22,5 +22,5 @@ import app.fedilab.android.client.Entities.Results;
|
||||||
* Interface for retrieving a remote account
|
* Interface for retrieving a remote account
|
||||||
*/
|
*/
|
||||||
public interface OnRetrieveRemoteAccountInterface {
|
public interface OnRetrieveRemoteAccountInterface {
|
||||||
void onRetrieveRemoteAccount(Results results);
|
void onRetrieveRemoteAccount(Results results, boolean developerAccount);
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,60 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?><!--
|
||||||
|
Copyright 2019 Thomas Schneider
|
||||||
|
|
||||||
|
This file is a part of Fedilab
|
||||||
|
|
||||||
|
This program is free software; you can redistribute it and/or modify it under the terms of the
|
||||||
|
GNU General Public License as published by the Free Software Foundation; either version 3 of the
|
||||||
|
License, or (at your option) any later version.
|
||||||
|
|
||||||
|
Fedilab is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even
|
||||||
|
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
|
||||||
|
Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License along with Fedilab; if not,
|
||||||
|
see <http://www.gnu.org/licenses>.
|
||||||
|
-->
|
||||||
|
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:orientation="vertical">
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_marginStart="10dp"
|
||||||
|
android:layout_marginEnd="10dp"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:orientation="vertical">
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/release_title"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="center_horizontal"
|
||||||
|
android:layout_marginTop="10dp"
|
||||||
|
android:gravity="center_horizontal"
|
||||||
|
android:textSize="18sp" />
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/release_notes"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="start"
|
||||||
|
android:layout_marginTop="10dp"
|
||||||
|
android:gravity="start"
|
||||||
|
android:textSize="14sp" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="start"
|
||||||
|
android:layout_marginTop="10dp"
|
||||||
|
android:text="@string/follow_account_update"
|
||||||
|
android:gravity="start"
|
||||||
|
android:textSize="16sp" />
|
||||||
|
<app.fedilab.android.helper.ExpandableHeightListView
|
||||||
|
android:id="@+id/lv_developers"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:divider="@null"
|
||||||
|
android:scrollbars="none" />
|
||||||
|
</LinearLayout>
|
||||||
|
</ScrollView>
|
|
@ -1173,4 +1173,6 @@
|
||||||
<string name="instance_count">Instance count</string>
|
<string name="instance_count">Instance count</string>
|
||||||
<string name="blocked">Blocked</string>
|
<string name="blocked">Blocked</string>
|
||||||
<string name="poll_finish_in">End in %s</string>
|
<string name="poll_finish_in">End in %s</string>
|
||||||
|
<string name="release_note_title">What\'s new in %s</string>
|
||||||
|
<string name="follow_account_update">You can follow our developer account for updates</string>
|
||||||
</resources>
|
</resources>
|
Loading…
Reference in New Issue