mirror of
https://github.com/M66B/FairEmail.git
synced 2026-01-02 11:01:23 +01:00
Fixed focus and freezes
This commit is contained in:
@@ -36,7 +36,6 @@ import android.support.v4.content.AsyncTaskLoader;
|
||||
import android.support.v4.content.Loader;
|
||||
import android.text.Html;
|
||||
import android.text.TextUtils;
|
||||
import android.text.method.LinkMovementMethod;
|
||||
import android.util.Log;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.Menu;
|
||||
@@ -113,7 +112,6 @@ public class FragmentCompose extends FragmentEx {
|
||||
grpReady = view.findViewById(R.id.grpReady);
|
||||
|
||||
grpCc.setVisibility("reply_all".equals(action) ? View.VISIBLE : View.GONE);
|
||||
etBody.setMovementMethod(LinkMovementMethod.getInstance());
|
||||
|
||||
// Wire controls
|
||||
|
||||
@@ -182,6 +180,8 @@ public class FragmentCompose extends FragmentEx {
|
||||
pbWait.setVisibility(View.VISIBLE);
|
||||
bottom_navigation.getMenu().setGroupEnabled(0, false);
|
||||
|
||||
final Handler handler = new Handler();
|
||||
|
||||
DB.getInstance(getContext()).identity().liveIdentities(true).observe(FragmentCompose.this, new Observer<List<EntityIdentity>>() {
|
||||
@Override
|
||||
public void onChanged(@Nullable final List<EntityIdentity> identities) {
|
||||
@@ -203,8 +203,14 @@ public class FragmentCompose extends FragmentEx {
|
||||
break;
|
||||
}
|
||||
|
||||
// Get might select another identity
|
||||
getLoaderManager().restartLoader(ActivityCompose.LOADER_COMPOSE_GET, getArguments(), getLoaderCallbacks).forceLoad();
|
||||
// This seems to be necessary to prevent layout freezes
|
||||
handler.post(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
// Get might select another identity
|
||||
getLoaderManager().restartLoader(ActivityCompose.LOADER_COMPOSE_GET, getArguments(), getLoaderCallbacks).forceLoad();
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
@@ -460,12 +466,12 @@ public class FragmentCompose extends FragmentEx {
|
||||
HtmlHelper.sanitize(getContext(), body, true));
|
||||
etSubject.setText(getContext().getString(R.string.title_subject_reply, subject));
|
||||
etBody.setText(Html.fromHtml(text));
|
||||
handler.postDelayed(new Runnable() {
|
||||
handler.post(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
etBody.requestFocus();
|
||||
}
|
||||
}, 500);
|
||||
});
|
||||
} else if ("forward".equals(action)) {
|
||||
String text = String.format("<br><br>%s %s:<br><br>%s",
|
||||
Html.escapeHtml(new Date().toString()),
|
||||
@@ -473,7 +479,12 @@ public class FragmentCompose extends FragmentEx {
|
||||
HtmlHelper.sanitize(getContext(), body, true));
|
||||
etSubject.setText(getContext().getString(R.string.title_subject_forward, subject));
|
||||
etBody.setText(Html.fromHtml(text));
|
||||
etTo.requestFocus();
|
||||
handler.post(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
etTo.requestFocus();
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user