forked from organicmaps/organicmaps-tmp
[android] Fixes for multiple TODOs after userkmark refactoring.
This commit is contained in:
parent
da41c662ba
commit
13f404a2fe
8 changed files with 77 additions and 79 deletions
|
@ -39,12 +39,12 @@ using platform::LocalCountryFile;
|
|||
|
||||
namespace
|
||||
{
|
||||
|
||||
::Framework * frm()
|
||||
{
|
||||
return g_framework->NativeFramework();
|
||||
}
|
||||
|
||||
jobject g_mapObjectListener;
|
||||
} // namespace
|
||||
|
||||
namespace android
|
||||
|
@ -479,29 +479,25 @@ extern "C"
|
|||
}
|
||||
|
||||
JNIEXPORT void JNICALL
|
||||
Java_com_mapswithme_maps_Framework_nativeSetMapObjectListener(JNIEnv * env, jclass clazz, jobject l)
|
||||
Java_com_mapswithme_maps_Framework_nativeSetMapObjectListener(JNIEnv * env, jclass clazz, jobject jListener)
|
||||
{
|
||||
// TODO: We never clean up this global ref.
|
||||
jobject const listener = env->NewGlobalRef(l);
|
||||
frm()->SetMapSelectionListeners([listener](place_page::Info const & info)
|
||||
g_mapObjectListener = env->NewGlobalRef(jListener);
|
||||
// void onMapObjectActivated(MapObject object);
|
||||
jmethodID const activatedId = jni::GetMethodID(env, g_mapObjectListener, "onMapObjectActivated",
|
||||
"(Lcom/mapswithme/maps/bookmarks/data/MapObject;)V");
|
||||
// void onDismiss(boolean switchFullScreenMode);
|
||||
jmethodID const dismissId = jni::GetMethodID(env, g_mapObjectListener, "onDismiss", "(Z)V");
|
||||
frm()->SetMapSelectionListeners([activatedId](place_page::Info const & info)
|
||||
{
|
||||
// 1st listener: User has selected an object on a map.
|
||||
JNIEnv * env = jni::GetEnv();
|
||||
g_framework->SetPlacePageInfo(info);
|
||||
jni::TScopedLocalRef mapObject(env, usermark_helper::CreateMapObject(env, info));
|
||||
jmethodID const methodId = jni::GetMethodID(env, listener, "onMapObjectActivated",
|
||||
"(Lcom/mapswithme/maps/bookmarks/data/MapObject;)V");
|
||||
//public MapObject(@MapObjectType int mapObjectType, String name, double lat, double lon, String typeName)
|
||||
env->CallVoidMethod(listener, methodId, mapObject.get());
|
||||
}, [listener](bool /*enterFullScreenMode*/)
|
||||
env->CallVoidMethod(g_mapObjectListener, activatedId, mapObject.get());
|
||||
}, [dismissId](bool switchFullScreenMode)
|
||||
{
|
||||
// 2nd listener: User has deselected object on a map, or tapped on an empty space (iOS toggles full screen mode in this case).
|
||||
JNIEnv * env = jni::GetEnv();
|
||||
// TODO(yunikkk): Do we really need the next line? UI should always know when this info is valid, right?
|
||||
g_framework->SetPlacePageInfo({});
|
||||
jmethodID const methodId = jni::GetMethodID(env, listener, "onDismiss", "()V");
|
||||
ASSERT(methodId, ());
|
||||
env->CallVoidMethod(listener, methodId);
|
||||
env->CallVoidMethod(g_mapObjectListener, dismissId, switchFullScreenMode);
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -509,6 +505,7 @@ extern "C"
|
|||
Java_com_mapswithme_maps_Framework_nativeRemoveMapObjectListener(JNIEnv * env, jobject thiz)
|
||||
{
|
||||
frm()->SetMapSelectionListeners({}, {});
|
||||
env->DeleteGlobalRef(g_mapObjectListener);
|
||||
}
|
||||
|
||||
JNIEXPORT jstring JNICALL
|
||||
|
@ -961,12 +958,6 @@ extern "C"
|
|||
env->SetBooleanField(result, buildingsField, buildings);
|
||||
}
|
||||
|
||||
JNIEXPORT jobject JNICALL
|
||||
Java_com_mapswithme_maps_Framework_nativeGetActiveMapObject(JNIEnv * env, jclass thiz)
|
||||
{
|
||||
return usermark_helper::CreateMapObject(env, g_framework->GetPlacePageInfo());
|
||||
}
|
||||
|
||||
extern JNIEXPORT void JNICALL
|
||||
Java_com_mapswithme_maps_bookmarks_data_BookmarkManager_nativeDeleteBookmark(JNIEnv *, jobject, jint, jint);
|
||||
|
||||
|
|
|
@ -199,8 +199,6 @@ extern "C"
|
|||
{
|
||||
lock_guard<mutex> guard(g_resultsMutex);
|
||||
Result const & result = g_results.GetResult(index);
|
||||
// TODO(yunikkk): why do we need to do it?
|
||||
g_framework->SetPlacePageInfo({});
|
||||
g_framework->PostDrapeTask([result]()
|
||||
{
|
||||
g_framework->NativeFramework()->ShowSearchResult(result);
|
||||
|
|
|
@ -48,10 +48,8 @@ Java_com_mapswithme_maps_bookmarks_data_Bookmark_nativeSetBookmarkParams(
|
|||
|
||||
// initialize new bookmark
|
||||
BookmarkData bm(jni::ToNativeString(env, name), jni::ToNativeString(env, type));
|
||||
if (descr)
|
||||
bm.SetDescription(jni::ToNativeString(env, descr));
|
||||
else
|
||||
bm.SetDescription(p->GetDescription());
|
||||
bm.SetDescription(descr ? jni::ToNativeString(env, descr)
|
||||
: p->GetDescription());
|
||||
|
||||
g_framework->ReplaceBookmark(BookmarkAndCategory(cat, bmk), bm);
|
||||
}
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
|
||||
namespace
|
||||
{
|
||||
osm::EditableMapObject gEditableMapObject;
|
||||
osm::EditableMapObject g_editableMapObject;
|
||||
} // namespace
|
||||
|
||||
extern "C"
|
||||
|
@ -26,7 +26,7 @@ JNIEXPORT jstring JNICALL
|
|||
Java_com_mapswithme_maps_editor_Editor_nativeGetMetadata(JNIEnv * env, jclass, jint type)
|
||||
{
|
||||
// TODO(yunikkk): Switch to osm::Props enum instead of metadata, and use separate getters instead a generic one.
|
||||
return jni::ToJavaString(env, gEditableMapObject.GetMetadata().Get(static_cast<feature::Metadata::EType>(type)));
|
||||
return jni::ToJavaString(env, g_editableMapObject.GetMetadata().Get(static_cast<feature::Metadata::EType>(type)));
|
||||
}
|
||||
|
||||
JNIEXPORT void JNICALL
|
||||
|
@ -38,21 +38,21 @@ Java_com_mapswithme_maps_editor_Editor_nativeSetMetadata(JNIEnv * env, jclass cl
|
|||
switch (type)
|
||||
{
|
||||
// TODO(yunikkk): Pass cuisines in a separate setter via vector of osm untranslated keys (SetCuisines()).
|
||||
case Metadata::FMD_CUISINE: gEditableMapObject.SetRawOSMCuisines(v); break;
|
||||
case Metadata::FMD_OPEN_HOURS: gEditableMapObject.SetOpeningHours(v); break;
|
||||
case Metadata::FMD_PHONE_NUMBER: gEditableMapObject.SetPhone(v); break;
|
||||
case Metadata::FMD_FAX_NUMBER: gEditableMapObject.SetFax(v); break;
|
||||
case Metadata::FMD_CUISINE: g_editableMapObject.SetRawOSMCuisines(v); break;
|
||||
case Metadata::FMD_OPEN_HOURS: g_editableMapObject.SetOpeningHours(v); break;
|
||||
case Metadata::FMD_PHONE_NUMBER: g_editableMapObject.SetPhone(v); break;
|
||||
case Metadata::FMD_FAX_NUMBER: g_editableMapObject.SetFax(v); break;
|
||||
case Metadata::FMD_STARS:
|
||||
{
|
||||
// TODO(yunikkk): Pass stars in a separate integer setter.
|
||||
int stars;
|
||||
if (strings::to_int(v, stars))
|
||||
gEditableMapObject.SetStars(stars);
|
||||
g_editableMapObject.SetStars(stars);
|
||||
break;
|
||||
}
|
||||
case Metadata::FMD_OPERATOR: gEditableMapObject.SetOperator(v); break;
|
||||
case Metadata::FMD_OPERATOR: g_editableMapObject.SetOperator(v); break;
|
||||
case Metadata::FMD_URL: // We don't allow url in UI. Website should be used instead.
|
||||
case Metadata::FMD_WEBSITE: gEditableMapObject.SetWebsite(v); break;
|
||||
case Metadata::FMD_WEBSITE: g_editableMapObject.SetWebsite(v); break;
|
||||
case Metadata::FMD_INTERNET: // TODO(yunikkk): use separate setter for Internet.
|
||||
{
|
||||
osm::Internet inet = osm::Internet::Unknown;
|
||||
|
@ -64,21 +64,21 @@ Java_com_mapswithme_maps_editor_Editor_nativeSetMetadata(JNIEnv * env, jclass cl
|
|||
inet = osm::Internet::No;
|
||||
if (v == DebugPrint(osm::Internet::Yes))
|
||||
inet = osm::Internet::Yes;
|
||||
gEditableMapObject.SetInternet(inet);
|
||||
g_editableMapObject.SetInternet(inet);
|
||||
}
|
||||
break;
|
||||
case Metadata::FMD_ELE:
|
||||
{
|
||||
double ele;
|
||||
if (strings::to_double(v, ele))
|
||||
gEditableMapObject.SetElevation(ele);
|
||||
g_editableMapObject.SetElevation(ele);
|
||||
break;
|
||||
}
|
||||
case Metadata::FMD_EMAIL: gEditableMapObject.SetEmail(v); break;
|
||||
case Metadata::FMD_POSTCODE: gEditableMapObject.SetPostcode(v); break;
|
||||
case Metadata::FMD_WIKIPEDIA: gEditableMapObject.SetWikipedia(v); break;
|
||||
case Metadata::FMD_FLATS: gEditableMapObject.SetFlats(v); break;
|
||||
case Metadata::FMD_BUILDING_LEVELS: gEditableMapObject.SetBuildingLevels(v); break;
|
||||
case Metadata::FMD_EMAIL: g_editableMapObject.SetEmail(v); break;
|
||||
case Metadata::FMD_POSTCODE: g_editableMapObject.SetPostcode(v); break;
|
||||
case Metadata::FMD_WIKIPEDIA: g_editableMapObject.SetWikipedia(v); break;
|
||||
case Metadata::FMD_FLATS: g_editableMapObject.SetFlats(v); break;
|
||||
case Metadata::FMD_BUILDING_LEVELS: g_editableMapObject.SetBuildingLevels(v); break;
|
||||
case Metadata::FMD_TURN_LANES:
|
||||
case Metadata::FMD_TURN_LANES_FORWARD:
|
||||
case Metadata::FMD_TURN_LANES_BACKWARD:
|
||||
|
@ -95,7 +95,7 @@ Java_com_mapswithme_maps_editor_Editor_nativeSetMetadata(JNIEnv * env, jclass cl
|
|||
JNIEXPORT jboolean JNICALL
|
||||
Java_com_mapswithme_maps_editor_Editor_nativeSaveEditedFeature(JNIEnv *, jclass)
|
||||
{
|
||||
switch (g_framework->NativeFramework()->SaveEditedMapObject(gEditableMapObject))
|
||||
switch (g_framework->NativeFramework()->SaveEditedMapObject(g_editableMapObject))
|
||||
{
|
||||
case osm::Editor::NothingWasChanged:
|
||||
case osm::Editor::SavedSuccessfully:
|
||||
|
@ -114,7 +114,7 @@ Java_com_mapswithme_maps_editor_Editor_nativeIsFeatureEditable(JNIEnv *, jclass)
|
|||
JNIEXPORT jintArray JNICALL
|
||||
Java_com_mapswithme_maps_editor_Editor_nativeGetEditableFields(JNIEnv * env, jclass clazz)
|
||||
{
|
||||
auto const & editable = gEditableMapObject.GetEditableFields();
|
||||
auto const & editable = g_editableMapObject.GetEditableFields();
|
||||
int const size = editable.size();
|
||||
jintArray jEditableFields = env->NewIntArray(size);
|
||||
jint * arr = env->GetIntArrayElements(jEditableFields, 0);
|
||||
|
@ -128,59 +128,59 @@ Java_com_mapswithme_maps_editor_Editor_nativeGetEditableFields(JNIEnv * env, jcl
|
|||
JNIEXPORT jboolean JNICALL
|
||||
Java_com_mapswithme_maps_editor_Editor_nativeIsAddressEditable(JNIEnv * env, jclass clazz)
|
||||
{
|
||||
return gEditableMapObject.IsAddressEditable();
|
||||
return g_editableMapObject.IsAddressEditable();
|
||||
}
|
||||
|
||||
JNIEXPORT jboolean JNICALL
|
||||
Java_com_mapswithme_maps_editor_Editor_nativeIsNameEditable(JNIEnv * env, jclass clazz)
|
||||
{
|
||||
return gEditableMapObject.IsNameEditable();
|
||||
return g_editableMapObject.IsNameEditable();
|
||||
}
|
||||
|
||||
JNIEXPORT jstring JNICALL
|
||||
Java_com_mapswithme_maps_editor_Editor_nativeGetDefaultName(JNIEnv * env, jclass)
|
||||
{
|
||||
// TODO(yunikkk): add multilanguage names support via EditableMapObject::GetLocalizedName().
|
||||
return jni::ToJavaString(env, gEditableMapObject.GetDefaultName());
|
||||
return jni::ToJavaString(env, g_editableMapObject.GetDefaultName());
|
||||
}
|
||||
|
||||
JNIEXPORT void JNICALL
|
||||
Java_com_mapswithme_maps_editor_Editor_nativeSetDefaultName(JNIEnv * env, jclass, jstring name)
|
||||
{
|
||||
StringUtf8Multilang names = gEditableMapObject.GetName();
|
||||
StringUtf8Multilang names = g_editableMapObject.GetName();
|
||||
// TODO(yunikkk): add multilanguage names support.
|
||||
names.AddString(StringUtf8Multilang::kDefaultCode, jni::ToNativeString(env, name));
|
||||
gEditableMapObject.SetName(names);
|
||||
g_editableMapObject.SetName(names);
|
||||
}
|
||||
|
||||
JNIEXPORT jstring JNICALL
|
||||
Java_com_mapswithme_maps_editor_Editor_nativeGetStreet(JNIEnv * env, jclass)
|
||||
{
|
||||
return jni::ToJavaString(env, gEditableMapObject.GetStreet());
|
||||
return jni::ToJavaString(env, g_editableMapObject.GetStreet());
|
||||
}
|
||||
|
||||
JNIEXPORT void JNICALL
|
||||
Java_com_mapswithme_maps_editor_Editor_nativeSetStreet(JNIEnv * env, jclass, jstring street)
|
||||
{
|
||||
gEditableMapObject.SetStreet(jni::ToNativeString(env, street));
|
||||
g_editableMapObject.SetStreet(jni::ToNativeString(env, street));
|
||||
}
|
||||
|
||||
JNIEXPORT jstring JNICALL
|
||||
Java_com_mapswithme_maps_editor_Editor_nativeGetHouseNumber(JNIEnv * env, jclass)
|
||||
{
|
||||
return jni::ToJavaString(env, gEditableMapObject.GetHouseNumber());
|
||||
return jni::ToJavaString(env, g_editableMapObject.GetHouseNumber());
|
||||
}
|
||||
|
||||
JNIEXPORT void JNICALL
|
||||
Java_com_mapswithme_maps_editor_Editor_nativeSetHouseNumber(JNIEnv * env, jclass, jstring houseNumber)
|
||||
{
|
||||
gEditableMapObject.SetHouseNumber(jni::ToNativeString(env, houseNumber));
|
||||
g_editableMapObject.SetHouseNumber(jni::ToNativeString(env, houseNumber));
|
||||
}
|
||||
|
||||
JNIEXPORT jobjectArray JNICALL
|
||||
Java_com_mapswithme_maps_editor_Editor_nativeGetNearbyStreets(JNIEnv * env, jclass clazz)
|
||||
{
|
||||
auto const & streets = gEditableMapObject.GetNearbyStreets();
|
||||
auto const & streets = g_editableMapObject.GetNearbyStreets();
|
||||
int const size = streets.size();
|
||||
jobjectArray jStreets = env->NewObjectArray(size, jni::GetStringClass(env), 0);
|
||||
for (int i = 0; i < size; ++i)
|
||||
|
@ -192,7 +192,7 @@ JNIEXPORT jboolean JNICALL
|
|||
Java_com_mapswithme_maps_editor_Editor_nativeHasWifi(JNIEnv *, jclass)
|
||||
{
|
||||
// TODO(AlexZ): Support 3-state: yes, no, unknown.
|
||||
return gEditableMapObject.GetMetadata().Get(feature::Metadata::FMD_INTERNET) == "wlan";
|
||||
return g_editableMapObject.GetMetadata().Get(feature::Metadata::FMD_INTERNET) == "wlan";
|
||||
}
|
||||
|
||||
|
||||
|
@ -231,6 +231,6 @@ Java_com_mapswithme_maps_editor_Editor_nativeStartEdit(JNIEnv *, jclass)
|
|||
{
|
||||
::Framework * frm = g_framework->NativeFramework();
|
||||
place_page::Info const & info = g_framework->GetPlacePageInfo();
|
||||
CHECK(frm->GetEditableMapObject(info.GetID(), gEditableMapObject), ("Invalid feature in the place page."));
|
||||
CHECK(frm->GetEditableMapObject(info.GetID(), g_editableMapObject), ("Invalid feature in the place page."));
|
||||
}
|
||||
} // extern "C"
|
||||
|
|
|
@ -26,7 +26,7 @@ public class Framework
|
|||
{
|
||||
void onMapObjectActivated(MapObject object);
|
||||
|
||||
void onDismiss();
|
||||
void onDismiss(boolean switchFullScreenMode);
|
||||
}
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
|
|
|
@ -256,17 +256,12 @@ public class MwmActivity extends BaseMwmFragmentActivity
|
|||
|
||||
public void showEditor()
|
||||
{
|
||||
// TODO(yunikkk) think about refactoring. It probably should be called in editor.
|
||||
Editor.nativeStartEdit();
|
||||
if (mIsFragmentContainer)
|
||||
{
|
||||
final Bundle args = new Bundle();
|
||||
replaceFragment(EditorHostFragment.class, args, null);
|
||||
}
|
||||
replaceFragment(EditorHostFragment.class, null, null);
|
||||
else
|
||||
{
|
||||
// Initializes editable feature from currently active place page.
|
||||
Editor.nativeStartEdit();
|
||||
EditorActivity.start(this);
|
||||
}
|
||||
}
|
||||
|
||||
private void shareMyLocation()
|
||||
|
@ -1013,7 +1008,6 @@ public class MwmActivity extends BaseMwmFragmentActivity
|
|||
|
||||
request.setPointData(object.getLat(), object.getLon(), object.getTitle(), object.getSearchId());
|
||||
object.setTypeName(request.getCallerName(MwmApplication.get()).toString());
|
||||
|
||||
}
|
||||
else if (MapObject.isOfType(MapObject.MY_POSITION, object) &&
|
||||
Framework.nativeIsRoutingActive())
|
||||
|
@ -1031,9 +1025,9 @@ public class MwmActivity extends BaseMwmFragmentActivity
|
|||
}
|
||||
|
||||
@Override
|
||||
public void onDismiss()
|
||||
public void onDismiss(boolean switchFullScreenMode)
|
||||
{
|
||||
if (mPlacePage.getMapObject() == null)
|
||||
if (switchFullScreenMode)
|
||||
{
|
||||
if ((mPanelAnimator != null && mPanelAnimator.isVisible()) ||
|
||||
UiUtils.isVisible(mSearchController.getToolbar()))
|
||||
|
|
|
@ -68,20 +68,27 @@ public final class Editor
|
|||
|
||||
public static native String nativeGetStreet();
|
||||
public static native void nativeSetStreet(String street);
|
||||
|
||||
public static native String nativeGetHouseNumber();
|
||||
public static native void nativeSetHouseNumber(String houseNumber);
|
||||
|
||||
// TODO(AlexZ): Support 3-state: Yes, No, Unknown.
|
||||
public static native boolean nativeHasWifi();
|
||||
// Generic methods.
|
||||
|
||||
public static native boolean nativeHasSomethingToUpload();
|
||||
@WorkerThread
|
||||
private static native void nativeUploadChanges(String token, String secret);
|
||||
|
||||
/**
|
||||
* @return array [total edits count, uploaded edits count, last upload timestamp]
|
||||
*/
|
||||
public static native long[] nativeGetStats();
|
||||
public static native void nativeClearLocalEdits();
|
||||
// That method should be called, when user opens editor from place page, so that information in editor
|
||||
// could refresh.
|
||||
public static native void nativeStartEdit();
|
||||
/**
|
||||
* @return true if feature was saved. False if some error occurred (eg. no space)
|
||||
*/
|
||||
public static native boolean nativeSaveEditedFeature();
|
||||
}
|
||||
|
|
|
@ -7,17 +7,20 @@ import android.view.LayoutInflater;
|
|||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
|
||||
import com.mapswithme.maps.MwmApplication;
|
||||
import com.mapswithme.maps.R;
|
||||
import com.mapswithme.maps.base.BaseMwmToolbarFragment;
|
||||
import com.mapswithme.maps.base.OnBackPressListener;
|
||||
// TODO(yunikkk): why is feature metadata in bookmarks? How are they related to each other?
|
||||
import com.mapswithme.maps.bookmarks.data.Metadata;
|
||||
import com.mapswithme.util.ConnectionState;
|
||||
import com.mapswithme.util.UiUtils;
|
||||
import com.mapswithme.util.Utils;
|
||||
|
||||
|
||||
public class EditorHostFragment extends BaseMwmToolbarFragment
|
||||
implements OnBackPressListener, View.OnClickListener
|
||||
{
|
||||
private static final String PREF_LAST_AUTH_DISPLAY_TIMESTAMP = "LastAuth";
|
||||
|
||||
enum Mode
|
||||
{
|
||||
MAP_OBJECT,
|
||||
|
@ -25,6 +28,7 @@ public class EditorHostFragment extends BaseMwmToolbarFragment
|
|||
STREET,
|
||||
CUISINE
|
||||
}
|
||||
|
||||
private Mode mMode;
|
||||
|
||||
@Nullable
|
||||
|
@ -40,7 +44,8 @@ public class EditorHostFragment extends BaseMwmToolbarFragment
|
|||
super.onViewCreated(view, savedInstanceState);
|
||||
editMapObject();
|
||||
mToolbarController.findViewById(R.id.save).setOnClickListener(this);
|
||||
mToolbarController.getToolbar().setNavigationOnClickListener(new View.OnClickListener() {
|
||||
mToolbarController.getToolbar().setNavigationOnClickListener(new View.OnClickListener()
|
||||
{
|
||||
@Override
|
||||
public void onClick(View v)
|
||||
{
|
||||
|
@ -168,16 +173,15 @@ public class EditorHostFragment extends BaseMwmToolbarFragment
|
|||
Editor.nativeSetHouseNumber(editorFragment.getHouseNumber());
|
||||
if (Editor.nativeSaveEditedFeature())
|
||||
{
|
||||
if (OsmOAuth.isAuthorized())
|
||||
if (OsmOAuth.isAuthorized() || !ConnectionState.isConnected())
|
||||
Utils.navigateToParent(getActivity());
|
||||
else
|
||||
// TODO(yunikkk): auth should be displayed only once, we should remember the time it was displayed.
|
||||
// And if there is no connection, no auth should be displayed at all.
|
||||
showAuthorization();
|
||||
}
|
||||
else
|
||||
{
|
||||
// TODO(yunikkk): Show error dialog that changes can't be saved (for example, there is no free space).
|
||||
// TODO(yunikkk) set correct error text.
|
||||
UiUtils.showAlertDialog(getActivity(), R.string.not_enough_disk_space);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
@ -186,6 +190,12 @@ public class EditorHostFragment extends BaseMwmToolbarFragment
|
|||
|
||||
private void showAuthorization()
|
||||
{
|
||||
getMwmActivity().replaceFragment(AuthFragment.class, null, null);
|
||||
if (!MwmApplication.prefs().contains(PREF_LAST_AUTH_DISPLAY_TIMESTAMP))
|
||||
{
|
||||
MwmApplication.prefs().edit().putLong(PREF_LAST_AUTH_DISPLAY_TIMESTAMP, System.currentTimeMillis()).apply();
|
||||
getMwmActivity().replaceFragment(AuthFragment.class, null, null);
|
||||
}
|
||||
else
|
||||
mToolbarController.onUpClick();
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue