fixed account migration
This commit is contained in:
parent
ed4e1540e0
commit
a9f6cc5229
|
@ -203,7 +203,6 @@ public interface TwidereConstants extends SharedPreferenceConstants, IntentConst
|
||||||
int TABLE_ID_CACHED_STATUSES = 62;
|
int TABLE_ID_CACHED_STATUSES = 62;
|
||||||
int TABLE_ID_CACHED_HASHTAGS = 63;
|
int TABLE_ID_CACHED_HASHTAGS = 63;
|
||||||
int TABLE_ID_CACHED_RELATIONSHIPS = 64;
|
int TABLE_ID_CACHED_RELATIONSHIPS = 64;
|
||||||
int VIRTUAL_TABLE_ID_DATABASE_READY = 100;
|
|
||||||
int VIRTUAL_TABLE_ID_NOTIFICATIONS = 101;
|
int VIRTUAL_TABLE_ID_NOTIFICATIONS = 101;
|
||||||
int VIRTUAL_TABLE_ID_PREFERENCES = 102;
|
int VIRTUAL_TABLE_ID_PREFERENCES = 102;
|
||||||
int VIRTUAL_TABLE_ID_ALL_PREFERENCES = 103;
|
int VIRTUAL_TABLE_ID_ALL_PREFERENCES = 103;
|
||||||
|
@ -220,7 +219,9 @@ public interface TwidereConstants extends SharedPreferenceConstants, IntentConst
|
||||||
int VIRTUAL_TABLE_ID_SUGGESTIONS_AUTO_COMPLETE = 141;
|
int VIRTUAL_TABLE_ID_SUGGESTIONS_AUTO_COMPLETE = 141;
|
||||||
int VIRTUAL_TABLE_ID_SUGGESTIONS_SEARCH = 142;
|
int VIRTUAL_TABLE_ID_SUGGESTIONS_SEARCH = 142;
|
||||||
|
|
||||||
int VIRTUAL_TABLE_ID_EMPTY = 200;
|
int VIRTUAL_TABLE_ID_NULL = 200;
|
||||||
|
int VIRTUAL_TABLE_ID_EMPTY = 201;
|
||||||
|
int VIRTUAL_TABLE_ID_DATABASE_PREPARE = 203;
|
||||||
|
|
||||||
int VIRTUAL_TABLE_ID_RAW_QUERY = 300;
|
int VIRTUAL_TABLE_ID_RAW_QUERY = 300;
|
||||||
|
|
||||||
|
|
|
@ -51,7 +51,7 @@ public interface TwidereDataStore {
|
||||||
|
|
||||||
String CONTENT_PATH_RAW_QUERY = "raw_query";
|
String CONTENT_PATH_RAW_QUERY = "raw_query";
|
||||||
|
|
||||||
String CONTENT_PATH_DATABASE_READY = "database_ready";
|
String CONTENT_PATH_DATABASE_PREPARE = "database_prepare";
|
||||||
|
|
||||||
Uri BASE_CONTENT_URI = new Uri.Builder().scheme(ContentResolver.SCHEME_CONTENT)
|
Uri BASE_CONTENT_URI = new Uri.Builder().scheme(ContentResolver.SCHEME_CONTENT)
|
||||||
.authority(AUTHORITY).build();
|
.authority(AUTHORITY).build();
|
||||||
|
@ -62,8 +62,8 @@ public interface TwidereDataStore {
|
||||||
|
|
||||||
Uri CONTENT_URI_RAW_QUERY = Uri.withAppendedPath(BASE_CONTENT_URI, CONTENT_PATH_RAW_QUERY);
|
Uri CONTENT_URI_RAW_QUERY = Uri.withAppendedPath(BASE_CONTENT_URI, CONTENT_PATH_RAW_QUERY);
|
||||||
|
|
||||||
Uri CONTENT_URI_DATABASE_READY = Uri.withAppendedPath(BASE_CONTENT_URI,
|
Uri CONTENT_URI_DATABASE_PREPARE = Uri.withAppendedPath(BASE_CONTENT_URI,
|
||||||
CONTENT_PATH_DATABASE_READY);
|
CONTENT_PATH_DATABASE_PREPARE);
|
||||||
|
|
||||||
Uri[] STATUSES_URIS = new Uri[]{Statuses.CONTENT_URI, CachedStatuses.CONTENT_URI};
|
Uri[] STATUSES_URIS = new Uri[]{Statuses.CONTENT_URI, CachedStatuses.CONTENT_URI};
|
||||||
Uri[] CACHE_URIS = new Uri[]{CachedUsers.CONTENT_URI, CachedStatuses.CONTENT_URI,
|
Uri[] CACHE_URIS = new Uri[]{CachedUsers.CONTENT_URI, CachedStatuses.CONTENT_URI,
|
||||||
|
|
|
@ -139,6 +139,7 @@ import org.mariotaku.twidere.util.UriExtraUtils;
|
||||||
import org.mariotaku.twidere.util.UserColorNameManager;
|
import org.mariotaku.twidere.util.UserColorNameManager;
|
||||||
import org.mariotaku.twidere.util.Utils;
|
import org.mariotaku.twidere.util.Utils;
|
||||||
import org.mariotaku.twidere.util.collection.CompactHashSet;
|
import org.mariotaku.twidere.util.collection.CompactHashSet;
|
||||||
|
import org.mariotaku.twidere.util.content.TwidereSQLiteOpenHelper;
|
||||||
import org.mariotaku.twidere.util.dagger.GeneralComponentHelper;
|
import org.mariotaku.twidere.util.dagger.GeneralComponentHelper;
|
||||||
import org.mariotaku.twidere.util.media.preview.PreviewMediaExtractor;
|
import org.mariotaku.twidere.util.media.preview.PreviewMediaExtractor;
|
||||||
import org.mariotaku.twidere.util.net.TwidereDns;
|
import org.mariotaku.twidere.util.net.TwidereDns;
|
||||||
|
@ -659,10 +660,9 @@ public final class TwidereDataProvider extends ContentProvider implements Consta
|
||||||
final String table = DataStoreUtils.getTableNameById(tableId);
|
final String table = DataStoreUtils.getTableNameById(tableId);
|
||||||
checkReadPermission(tableId, table, projection);
|
checkReadPermission(tableId, table, projection);
|
||||||
switch (tableId) {
|
switch (tableId) {
|
||||||
case VIRTUAL_TABLE_ID_DATABASE_READY: {
|
case VIRTUAL_TABLE_ID_DATABASE_PREPARE: {
|
||||||
if (mDatabaseWrapper.isReady())
|
mDatabaseWrapper.prepare();
|
||||||
return new MatrixCursor(projection != null ? projection : new String[0]);
|
return new MatrixCursor(projection != null ? projection : new String[0]);
|
||||||
return null;
|
|
||||||
}
|
}
|
||||||
case VIRTUAL_TABLE_ID_PERMISSIONS: {
|
case VIRTUAL_TABLE_ID_PERMISSIONS: {
|
||||||
final Context context = getContext();
|
final Context context = getContext();
|
||||||
|
@ -779,6 +779,9 @@ public final class TwidereDataProvider extends ContentProvider implements Consta
|
||||||
case VIRTUAL_TABLE_ID_SUGGESTIONS_SEARCH: {
|
case VIRTUAL_TABLE_ID_SUGGESTIONS_SEARCH: {
|
||||||
return getSearchSuggestionCursor(uri);
|
return getSearchSuggestionCursor(uri);
|
||||||
}
|
}
|
||||||
|
case VIRTUAL_TABLE_ID_NULL: {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
case VIRTUAL_TABLE_ID_EMPTY: {
|
case VIRTUAL_TABLE_ID_EMPTY: {
|
||||||
return new MatrixCursor(projection);
|
return new MatrixCursor(projection);
|
||||||
}
|
}
|
||||||
|
@ -801,7 +804,8 @@ public final class TwidereDataProvider extends ContentProvider implements Consta
|
||||||
|
|
||||||
private Cursor getSearchSuggestionCursor(Uri uri) {
|
private Cursor getSearchSuggestionCursor(Uri uri) {
|
||||||
final String query = uri.getQueryParameter(QUERY_PARAM_QUERY);
|
final String query = uri.getQueryParameter(QUERY_PARAM_QUERY);
|
||||||
final UserKey accountKey = UserKey.valueOf(uri.getQueryParameter(QUERY_PARAM_ACCOUNT_KEY));
|
final String paramAccountKey = uri.getQueryParameter(QUERY_PARAM_ACCOUNT_KEY);
|
||||||
|
final UserKey accountKey = paramAccountKey != null ? UserKey.valueOf(paramAccountKey) : null;
|
||||||
if (query == null || accountKey == null) return null;
|
if (query == null || accountKey == null) return null;
|
||||||
final boolean emptyQuery = TextUtils.isEmpty(query);
|
final boolean emptyQuery = TextUtils.isEmpty(query);
|
||||||
final String queryEscaped = query.replace("_", "^_");
|
final String queryEscaped = query.replace("_", "^_");
|
||||||
|
|
|
@ -185,8 +185,6 @@ public class DataStoreUtils implements Constants {
|
||||||
VIRTUAL_TABLE_ID_UNREAD_COUNTS);
|
VIRTUAL_TABLE_ID_UNREAD_COUNTS);
|
||||||
CONTENT_PROVIDER_URI_MATCHER.addURI(TwidereDataStore.AUTHORITY, UnreadCounts.ByType.CONTENT_PATH + "/*",
|
CONTENT_PROVIDER_URI_MATCHER.addURI(TwidereDataStore.AUTHORITY, UnreadCounts.ByType.CONTENT_PATH + "/*",
|
||||||
VIRTUAL_TABLE_ID_UNREAD_COUNTS_BY_TYPE);
|
VIRTUAL_TABLE_ID_UNREAD_COUNTS_BY_TYPE);
|
||||||
CONTENT_PROVIDER_URI_MATCHER.addURI(TwidereDataStore.AUTHORITY, TwidereDataStore.CONTENT_PATH_DATABASE_READY,
|
|
||||||
VIRTUAL_TABLE_ID_DATABASE_READY);
|
|
||||||
CONTENT_PROVIDER_URI_MATCHER.addURI(TwidereDataStore.AUTHORITY, CachedUsers.CONTENT_PATH_WITH_RELATIONSHIP + "/*",
|
CONTENT_PROVIDER_URI_MATCHER.addURI(TwidereDataStore.AUTHORITY, CachedUsers.CONTENT_PATH_WITH_RELATIONSHIP + "/*",
|
||||||
VIRTUAL_TABLE_ID_CACHED_USERS_WITH_RELATIONSHIP);
|
VIRTUAL_TABLE_ID_CACHED_USERS_WITH_RELATIONSHIP);
|
||||||
CONTENT_PROVIDER_URI_MATCHER.addURI(TwidereDataStore.AUTHORITY, CachedUsers.CONTENT_PATH_WITH_SCORE + "/*",
|
CONTENT_PROVIDER_URI_MATCHER.addURI(TwidereDataStore.AUTHORITY, CachedUsers.CONTENT_PATH_WITH_SCORE + "/*",
|
||||||
|
@ -201,6 +199,10 @@ public class DataStoreUtils implements Constants {
|
||||||
VIRTUAL_TABLE_ID_SUGGESTIONS_AUTO_COMPLETE);
|
VIRTUAL_TABLE_ID_SUGGESTIONS_AUTO_COMPLETE);
|
||||||
CONTENT_PROVIDER_URI_MATCHER.addURI(TwidereDataStore.AUTHORITY, Suggestions.Search.CONTENT_PATH,
|
CONTENT_PROVIDER_URI_MATCHER.addURI(TwidereDataStore.AUTHORITY, Suggestions.Search.CONTENT_PATH,
|
||||||
VIRTUAL_TABLE_ID_SUGGESTIONS_SEARCH);
|
VIRTUAL_TABLE_ID_SUGGESTIONS_SEARCH);
|
||||||
|
CONTENT_PROVIDER_URI_MATCHER.addURI(TwidereDataStore.AUTHORITY, TwidereDataStore.CONTENT_PATH_DATABASE_PREPARE,
|
||||||
|
VIRTUAL_TABLE_ID_DATABASE_PREPARE);
|
||||||
|
CONTENT_PROVIDER_URI_MATCHER.addURI(TwidereDataStore.AUTHORITY, TwidereDataStore.CONTENT_PATH_NULL,
|
||||||
|
VIRTUAL_TABLE_ID_NULL);
|
||||||
CONTENT_PROVIDER_URI_MATCHER.addURI(TwidereDataStore.AUTHORITY, TwidereDataStore.CONTENT_PATH_EMPTY,
|
CONTENT_PROVIDER_URI_MATCHER.addURI(TwidereDataStore.AUTHORITY, TwidereDataStore.CONTENT_PATH_EMPTY,
|
||||||
VIRTUAL_TABLE_ID_EMPTY);
|
VIRTUAL_TABLE_ID_EMPTY);
|
||||||
CONTENT_PROVIDER_URI_MATCHER.addURI(TwidereDataStore.AUTHORITY, TwidereDataStore.CONTENT_PATH_RAW_QUERY + "/*",
|
CONTENT_PROVIDER_URI_MATCHER.addURI(TwidereDataStore.AUTHORITY, TwidereDataStore.CONTENT_PATH_RAW_QUERY + "/*",
|
||||||
|
@ -1014,6 +1016,11 @@ public class DataStoreUtils implements Constants {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void prepareDatabase(@NonNull Context context) {
|
||||||
|
context.getContentResolver().query(TwidereDataStore.CONTENT_URI_DATABASE_PREPARE, null,
|
||||||
|
null, null, null);
|
||||||
|
}
|
||||||
|
|
||||||
interface FieldArrayCreator<T> {
|
interface FieldArrayCreator<T> {
|
||||||
T newArray(int size);
|
T newArray(int size);
|
||||||
|
|
||||||
|
|
|
@ -60,9 +60,8 @@ public class SQLiteDatabaseWrapper {
|
||||||
mDatabase.execSQL(sql, bindArgs);
|
mDatabase.execSQL(sql, bindArgs);
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isReady() {
|
public void prepare() {
|
||||||
if (mLazyLoadCallback != null) return true;
|
tryCreateDatabase();
|
||||||
return mDatabase != null;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public Cursor query(final String table, final String[] columns, final String selection,
|
public Cursor query(final String table, final String[] columns, final String selection,
|
||||||
|
|
|
@ -337,7 +337,6 @@ public final class Utils implements Constants {
|
||||||
return colors;
|
return colors;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public static class NoAccountException extends Exception {
|
public static class NoAccountException extends Exception {
|
||||||
String accountHost;
|
String accountHost;
|
||||||
|
|
||||||
|
@ -559,7 +558,8 @@ public final class Utils implements Constants {
|
||||||
if (context == null) return null;
|
if (context == null) return null;
|
||||||
final SharedPreferences prefs = context.getSharedPreferences(SHARED_PREFERENCES_NAME,
|
final SharedPreferences prefs = context.getSharedPreferences(SHARED_PREFERENCES_NAME,
|
||||||
Context.MODE_PRIVATE);
|
Context.MODE_PRIVATE);
|
||||||
UserKey accountKey = UserKey.valueOf(prefs.getString(KEY_DEFAULT_ACCOUNT_KEY, null));
|
final String string = prefs.getString(KEY_DEFAULT_ACCOUNT_KEY, null);
|
||||||
|
UserKey accountKey = string != null ? UserKey.valueOf(string) : null;
|
||||||
final UserKey[] accountKeys = DataStoreUtils.getAccountKeys(context);
|
final UserKey[] accountKeys = DataStoreUtils.getAccountKeys(context);
|
||||||
int idMatchIdx = -1;
|
int idMatchIdx = -1;
|
||||||
for (int i = 0, accountIdsLength = accountKeys.length; i < accountIdsLength; i++) {
|
for (int i = 0, accountIdsLength = accountKeys.length; i < accountIdsLength; i++) {
|
||||||
|
|
|
@ -93,7 +93,7 @@ class HomeActivity : BaseActivity(), OnClickListener, OnPageChangeListener, Supp
|
||||||
private var tabColumns: Int = 0
|
private var tabColumns: Int = 0
|
||||||
|
|
||||||
|
|
||||||
private var multiSelectHandler: MultiSelectEventHandler? = null
|
private lateinit var multiSelectHandler: MultiSelectEventHandler
|
||||||
|
|
||||||
private var pagerAdapter: SupportTabsAdapter? = null
|
private var pagerAdapter: SupportTabsAdapter? = null
|
||||||
|
|
||||||
|
@ -145,8 +145,8 @@ class HomeActivity : BaseActivity(), OnClickListener, OnPageChangeListener, Supp
|
||||||
|
|
||||||
override fun triggerRefresh(position: Int): Boolean {
|
override fun triggerRefresh(position: Int): Boolean {
|
||||||
val f = pagerAdapter!!.instantiateItem(mainPager, position) as Fragment
|
val f = pagerAdapter!!.instantiateItem(mainPager, position) as Fragment
|
||||||
if (f !is RefreshScrollTopInterface) return false
|
|
||||||
if (f.activity == null || f.isDetached) return false
|
if (f.activity == null || f.isDetached) return false
|
||||||
|
if (f !is RefreshScrollTopInterface) return false
|
||||||
return f.triggerRefresh()
|
return f.triggerRefresh()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -298,7 +298,8 @@ class HomeActivity : BaseActivity(), OnClickListener, OnPageChangeListener, Supp
|
||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
multiSelectHandler = MultiSelectEventHandler(this)
|
multiSelectHandler = MultiSelectEventHandler(this)
|
||||||
multiSelectHandler!!.dispatchOnCreate()
|
multiSelectHandler.dispatchOnCreate()
|
||||||
|
DataStoreUtils.prepareDatabase(this)
|
||||||
if (!DataStoreUtils.hasAccount(this)) {
|
if (!DataStoreUtils.hasAccount(this)) {
|
||||||
val signInIntent = Intent(INTENT_ACTION_TWITTER_LOGIN)
|
val signInIntent = Intent(INTENT_ACTION_TWITTER_LOGIN)
|
||||||
signInIntent.setClass(this, SignInActivity::class.java)
|
signInIntent.setClass(this, SignInActivity::class.java)
|
||||||
|
@ -347,7 +348,7 @@ class HomeActivity : BaseActivity(), OnClickListener, OnPageChangeListener, Supp
|
||||||
drawerToggleButton.visibility = View.GONE
|
drawerToggleButton.visibility = View.GONE
|
||||||
}
|
}
|
||||||
|
|
||||||
homeContent!!.addOnLayoutChangeListener { v, left, top, right, bottom, oldLeft, oldTop, oldRight, oldBottom ->
|
homeContent.addOnLayoutChangeListener { v, left, top, right, bottom, oldLeft, oldTop, oldRight, oldBottom ->
|
||||||
if (top != oldTop) {
|
if (top != oldTop) {
|
||||||
val fragment = leftDrawerFragment
|
val fragment = leftDrawerFragment
|
||||||
if (fragment is AccountsDashboardFragment) {
|
if (fragment is AccountsDashboardFragment) {
|
||||||
|
@ -388,7 +389,7 @@ class HomeActivity : BaseActivity(), OnClickListener, OnPageChangeListener, Supp
|
||||||
|
|
||||||
override fun onStart() {
|
override fun onStart() {
|
||||||
super.onStart()
|
super.onStart()
|
||||||
multiSelectHandler!!.dispatchOnStart()
|
multiSelectHandler.dispatchOnStart()
|
||||||
val resolver = contentResolver
|
val resolver = contentResolver
|
||||||
resolver.registerContentObserver(Accounts.CONTENT_URI, true, accountChangeObserver)
|
resolver.registerContentObserver(Accounts.CONTENT_URI, true, accountChangeObserver)
|
||||||
bus.register(this)
|
bus.register(this)
|
||||||
|
@ -408,7 +409,7 @@ class HomeActivity : BaseActivity(), OnClickListener, OnPageChangeListener, Supp
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onStop() {
|
override fun onStop() {
|
||||||
multiSelectHandler!!.dispatchOnStop()
|
multiSelectHandler.dispatchOnStop()
|
||||||
readStateManager.unregisterOnSharedPreferenceChangeListener(readStateChangeListener)
|
readStateManager.unregisterOnSharedPreferenceChangeListener(readStateChangeListener)
|
||||||
bus.unregister(this)
|
bus.unregister(this)
|
||||||
val resolver = contentResolver
|
val resolver = contentResolver
|
||||||
|
|
|
@ -19,14 +19,13 @@
|
||||||
|
|
||||||
package org.mariotaku.twidere.activity
|
package org.mariotaku.twidere.activity
|
||||||
|
|
||||||
import android.app.Activity
|
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import org.mariotaku.twidere.BuildConfig
|
import org.mariotaku.twidere.BuildConfig
|
||||||
import org.mariotaku.twidere.util.StrictModeUtils
|
import org.mariotaku.twidere.util.StrictModeUtils
|
||||||
import org.mariotaku.twidere.util.Utils
|
import org.mariotaku.twidere.util.Utils
|
||||||
|
|
||||||
open class MainActivity : Activity() {
|
open class MainActivity : BaseActivity() {
|
||||||
|
|
||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
if (BuildConfig.DEBUG) {
|
if (BuildConfig.DEBUG) {
|
||||||
|
@ -34,14 +33,15 @@ open class MainActivity : Activity() {
|
||||||
StrictModeUtils.detectAllThreadPolicy()
|
StrictModeUtils.detectAllThreadPolicy()
|
||||||
}
|
}
|
||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
if (Utils.checkDeviceCompatible()) {
|
if (!Utils.checkDeviceCompatible()) {
|
||||||
val intent = Intent(this, HomeActivity::class.java)
|
val intent = Intent(this, IncompatibleAlertActivity::class.java)
|
||||||
startActivity(intent)
|
startActivity(intent)
|
||||||
} else {
|
} else {
|
||||||
val intent = Intent(this, IncompatibleAlertActivity::class.java)
|
val intent = Intent(this, HomeActivity::class.java)
|
||||||
startActivity(intent)
|
startActivity(intent)
|
||||||
}
|
}
|
||||||
finish()
|
finish()
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -118,12 +118,23 @@ class AccountsDashboardFragment : BaseSupportFragment(), LoaderCallbacks<Account
|
||||||
override fun onPageScrolled(position: Int, positionOffset: Float, positionOffsetPixels: Int) {
|
override fun onPageScrolled(position: Int, positionOffset: Float, positionOffsetPixels: Int) {
|
||||||
val adapter = accountsAdapter ?: return
|
val adapter = accountsAdapter ?: return
|
||||||
val pagePosition = position + positionOffset
|
val pagePosition = position + positionOffset
|
||||||
hasPrevAccountIndicator.alpha = TwidereMathUtils.clamp(pagePosition, 0f, 1f)
|
val pageCount = adapter.count
|
||||||
hasNextAccountIndicator.alpha = TwidereMathUtils.clamp(adapter.count - (pagePosition
|
val visiblePages = 1 / adapter.getPageWidth(position)
|
||||||
+ 1 / adapter.getPageWidth(position)), 0f, 1f)
|
if (pageCount < visiblePages) {
|
||||||
|
hasPrevAccountIndicator.alpha = 0f
|
||||||
|
hasNextAccountIndicator.alpha = 0f
|
||||||
|
} else {
|
||||||
|
hasPrevAccountIndicator.alpha = TwidereMathUtils.clamp(pagePosition, 0f, 1f)
|
||||||
|
hasNextAccountIndicator.alpha = TwidereMathUtils.clamp(pageCount - (pagePosition
|
||||||
|
+ visiblePages), 0f, 1f)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
accountsSelector.setPageTransformer(false, AccountsSelectorTransformer)
|
accountsSelector.setPageTransformer(false, AccountsSelectorTransformer)
|
||||||
|
|
||||||
|
hasPrevAccountIndicator.alpha = 0f
|
||||||
|
hasNextAccountIndicator.alpha = 0f
|
||||||
|
|
||||||
val menuInflater = SupportMenuInflater(context)
|
val menuInflater = SupportMenuInflater(context)
|
||||||
menuInflater.inflate(R.menu.action_dashboard_timeline_toggle, accountDashboardMenu.menu)
|
menuInflater.inflate(R.menu.action_dashboard_timeline_toggle, accountDashboardMenu.menu)
|
||||||
accountDashboardMenu.setOnMenuItemClickListener(OnMenuItemClickListener { item ->
|
accountDashboardMenu.setOnMenuItemClickListener(OnMenuItemClickListener { item ->
|
||||||
|
|
|
@ -23,20 +23,26 @@ import android.app.Dialog
|
||||||
import android.app.ProgressDialog
|
import android.app.ProgressDialog
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.support.v4.app.FragmentManager
|
import android.support.v4.app.FragmentManager
|
||||||
|
import org.mariotaku.ktextension.Bundle
|
||||||
|
import org.mariotaku.ktextension.set
|
||||||
import org.mariotaku.twidere.R
|
import org.mariotaku.twidere.R
|
||||||
|
import org.mariotaku.twidere.constant.IntentConstants.EXTRA_MESSAGE
|
||||||
|
|
||||||
class ProgressDialogFragment : BaseDialogFragment() {
|
class ProgressDialogFragment : BaseDialogFragment() {
|
||||||
|
|
||||||
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
|
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
|
||||||
val dialog = ProgressDialog(activity)
|
val dialog = ProgressDialog(activity)
|
||||||
dialog.setMessage(getString(R.string.please_wait))
|
dialog.setMessage(arguments?.getString(EXTRA_MESSAGE) ?: getString(R.string.please_wait))
|
||||||
return dialog
|
return dialog
|
||||||
}
|
}
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
|
|
||||||
fun show(fm: FragmentManager, tag: String): ProgressDialogFragment {
|
fun show(fm: FragmentManager, tag: String, message: String? = null): ProgressDialogFragment {
|
||||||
val f = ProgressDialogFragment()
|
val f = ProgressDialogFragment()
|
||||||
|
f.arguments = Bundle {
|
||||||
|
this[EXTRA_MESSAGE] = message
|
||||||
|
}
|
||||||
f.show(fm, tag)
|
f.show(fm, tag)
|
||||||
return f
|
return f
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,5 @@
|
||||||
|
package org.mariotaku.twidere.model.message
|
||||||
|
|
||||||
|
object DatabaseReadyEvent {
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in New Issue