mirror of
https://codeberg.org/comaps/comaps
synced 2025-12-25 15:23:52 +00:00
[android] Migrate to Material toolbar components
Signed-off-by: Jean-Baptiste Charron <jeanbaptiste.charron@outlook.fr>
This commit is contained in:
committed by
Konstantin Pastbin
parent
6dee814ff5
commit
4e154fb10b
@@ -34,7 +34,6 @@ import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.annotation.StyleRes;
|
||||
import androidx.annotation.UiThread;
|
||||
import androidx.appcompat.widget.Toolbar;
|
||||
import androidx.core.app.ActivityCompat;
|
||||
import androidx.core.content.ContextCompat;
|
||||
import androidx.core.view.ViewCompat;
|
||||
@@ -120,6 +119,8 @@ import app.organicmaps.widget.menu.MainMenu;
|
||||
import app.organicmaps.widget.placepage.PlacePageController;
|
||||
import app.organicmaps.widget.placepage.PlacePageData;
|
||||
import app.organicmaps.widget.placepage.PlacePageViewModel;
|
||||
|
||||
import com.google.android.material.appbar.MaterialToolbar;
|
||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
|
||||
import com.google.android.material.floatingactionbutton.FloatingActionButton;
|
||||
|
||||
@@ -187,7 +188,7 @@ public class MwmActivity extends BaseMwmFragmentActivity
|
||||
private MapFragment mMapFragment;
|
||||
|
||||
private View mPointChooser;
|
||||
private Toolbar mPointChooserToolbar;
|
||||
private MaterialToolbar mPointChooserToolbar;
|
||||
|
||||
private RoutingPlanInplaceController mRoutingPlanInplaceController;
|
||||
|
||||
|
||||
@@ -15,11 +15,12 @@ import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.annotation.StyleRes;
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
import androidx.appcompat.widget.Toolbar;
|
||||
import androidx.fragment.app.Fragment;
|
||||
import androidx.fragment.app.FragmentFactory;
|
||||
import androidx.fragment.app.FragmentManager;
|
||||
|
||||
import com.google.android.material.appbar.MaterialToolbar;
|
||||
|
||||
import app.organicmaps.MwmApplication;
|
||||
import app.organicmaps.R;
|
||||
import app.organicmaps.SplashActivity;
|
||||
@@ -148,7 +149,7 @@ public abstract class BaseMwmFragmentActivity extends AppCompatActivity
|
||||
onBackPressed();
|
||||
}
|
||||
|
||||
protected Toolbar getToolbar()
|
||||
protected MaterialToolbar getToolbar()
|
||||
{
|
||||
return findViewById(R.id.toolbar);
|
||||
}
|
||||
|
||||
@@ -10,11 +10,13 @@ import androidx.annotation.CallSuper;
|
||||
import androidx.annotation.LayoutRes;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.appcompat.widget.Toolbar;
|
||||
import androidx.core.view.ViewCompat;
|
||||
import androidx.fragment.app.Fragment;
|
||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.google.android.material.appbar.MaterialToolbar;
|
||||
|
||||
import app.organicmaps.R;
|
||||
import app.organicmaps.util.UiUtils;
|
||||
import app.organicmaps.util.Utils;
|
||||
@@ -23,7 +25,7 @@ import app.organicmaps.widget.PlaceholderView;
|
||||
|
||||
public abstract class BaseMwmRecyclerFragment<T extends RecyclerView.Adapter> extends Fragment
|
||||
{
|
||||
private Toolbar mToolbar;
|
||||
private MaterialToolbar mToolbar;
|
||||
|
||||
@SuppressWarnings("NotNullFieldNotInitialized")
|
||||
@NonNull
|
||||
|
||||
@@ -6,11 +6,13 @@ import androidx.annotation.CallSuper;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.annotation.StringRes;
|
||||
import androidx.appcompat.widget.Toolbar;
|
||||
import androidx.core.view.ViewCompat;
|
||||
import androidx.fragment.app.Fragment;
|
||||
import androidx.fragment.app.FragmentFactory;
|
||||
import androidx.fragment.app.FragmentManager;
|
||||
|
||||
import com.google.android.material.appbar.MaterialToolbar;
|
||||
|
||||
import app.organicmaps.R;
|
||||
import app.organicmaps.util.UiUtils;
|
||||
import app.organicmaps.util.WindowInsetUtils.PaddingInsetsListener;
|
||||
@@ -26,7 +28,7 @@ public abstract class BaseToolbarActivity extends BaseMwmFragmentActivity
|
||||
{
|
||||
super.onSafeCreate(savedInstanceState);
|
||||
|
||||
Toolbar toolbar = getToolbar();
|
||||
MaterialToolbar toolbar = getToolbar();
|
||||
if (toolbar != null)
|
||||
{
|
||||
int title = getToolbarTitle();
|
||||
@@ -42,7 +44,7 @@ public abstract class BaseToolbarActivity extends BaseMwmFragmentActivity
|
||||
}
|
||||
}
|
||||
|
||||
protected void setupHomeButton(@NonNull Toolbar toolbar)
|
||||
protected void setupHomeButton(@NonNull MaterialToolbar toolbar)
|
||||
{
|
||||
UiUtils.showHomeUpButton(toolbar);
|
||||
}
|
||||
@@ -92,7 +94,7 @@ public abstract class BaseToolbarActivity extends BaseMwmFragmentActivity
|
||||
|
||||
if (title != null)
|
||||
{
|
||||
Toolbar toolbar = getToolbar();
|
||||
MaterialToolbar toolbar = getToolbar();
|
||||
if (toolbar != null && toolbar.getTitle() != null)
|
||||
{
|
||||
mLastTitle = toolbar.getTitle().toString();
|
||||
|
||||
@@ -16,7 +16,6 @@ import androidx.activity.result.contract.ActivityResultContracts;
|
||||
import androidx.annotation.CallSuper;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.appcompat.widget.Toolbar;
|
||||
import androidx.core.view.ViewCompat;
|
||||
import androidx.fragment.app.Fragment;
|
||||
import androidx.fragment.app.FragmentManager;
|
||||
@@ -47,6 +46,7 @@ import app.organicmaps.util.WindowInsetUtils;
|
||||
import app.organicmaps.widget.PlaceholderView;
|
||||
import app.organicmaps.widget.SearchToolbarController;
|
||||
import com.google.android.material.appbar.AppBarLayout;
|
||||
import com.google.android.material.appbar.MaterialToolbar;
|
||||
import com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton;
|
||||
import com.google.android.material.tabs.TabLayout;
|
||||
|
||||
@@ -226,7 +226,7 @@ public class SearchFragment extends BaseMwmFragment
|
||||
private void updateFrames()
|
||||
{
|
||||
final boolean hasQuery = mToolbarController.hasQuery();
|
||||
Toolbar toolbar = mToolbarController.getToolbar();
|
||||
MaterialToolbar toolbar = mToolbarController.getToolbar();
|
||||
AppBarLayout.LayoutParams lp = (AppBarLayout.LayoutParams) toolbar.getLayoutParams();
|
||||
lp.setScrollFlags(hasQuery ? AppBarLayout.LayoutParams.SCROLL_FLAG_ENTER_ALWAYS
|
||||
| AppBarLayout.LayoutParams.SCROLL_FLAG_SCROLL : 0);
|
||||
|
||||
@@ -27,7 +27,6 @@ import androidx.annotation.DimenRes;
|
||||
import androidx.annotation.IdRes;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.StringRes;
|
||||
import androidx.appcompat.widget.Toolbar;
|
||||
import androidx.core.content.ContextCompat;
|
||||
import androidx.core.content.res.ResourcesCompat;
|
||||
import androidx.core.graphics.Insets;
|
||||
@@ -37,6 +36,8 @@ import androidx.core.view.WindowInsetsControllerCompat;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
import app.organicmaps.MwmApplication;
|
||||
import app.organicmaps.R;
|
||||
|
||||
import com.google.android.material.appbar.MaterialToolbar;
|
||||
import com.google.android.material.textfield.TextInputLayout;
|
||||
|
||||
import java.util.Objects;
|
||||
@@ -193,7 +194,7 @@ public final class UiUtils
|
||||
hide(tv);
|
||||
}
|
||||
|
||||
public static void showHomeUpButton(Toolbar toolbar)
|
||||
public static void showHomeUpButton(MaterialToolbar toolbar)
|
||||
{
|
||||
toolbar.setNavigationIcon(ThemeUtils.getResource(toolbar.getContext(), androidx.appcompat.R.attr.homeAsUpIndicator));
|
||||
}
|
||||
@@ -297,7 +298,7 @@ public final class UiUtils
|
||||
systemInsets.right, view.getPaddingBottom());
|
||||
}
|
||||
|
||||
public static void setupNavigationIcon(@NonNull Toolbar toolbar,
|
||||
public static void setupNavigationIcon(@NonNull MaterialToolbar toolbar,
|
||||
@NonNull View.OnClickListener listener)
|
||||
{
|
||||
View customNavigationButton = toolbar.findViewById(R.id.back);
|
||||
@@ -311,14 +312,14 @@ public final class UiUtils
|
||||
}
|
||||
}
|
||||
|
||||
public static void setupHomeUpButtonAsNavigationIcon(@NonNull Toolbar toolbar,
|
||||
public static void setupHomeUpButtonAsNavigationIcon(@NonNull MaterialToolbar toolbar,
|
||||
@NonNull View.OnClickListener listener)
|
||||
{
|
||||
UiUtils.showHomeUpButton(toolbar);
|
||||
toolbar.setNavigationOnClickListener(listener);
|
||||
}
|
||||
|
||||
public static void clearHomeUpButton(@NonNull Toolbar toolbar)
|
||||
public static void clearHomeUpButton(@NonNull MaterialToolbar toolbar)
|
||||
{
|
||||
toolbar.setNavigationIcon(null);
|
||||
toolbar.setNavigationOnClickListener(null);
|
||||
|
||||
@@ -9,8 +9,10 @@ import androidx.annotation.Nullable;
|
||||
import androidx.annotation.StringRes;
|
||||
import androidx.appcompat.app.ActionBar;
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
import androidx.appcompat.widget.Toolbar;
|
||||
import androidx.core.view.ViewCompat;
|
||||
|
||||
import com.google.android.material.appbar.MaterialToolbar;
|
||||
|
||||
import app.organicmaps.R;
|
||||
import app.organicmaps.util.UiUtils;
|
||||
import app.organicmaps.util.Utils;
|
||||
@@ -21,7 +23,7 @@ public class ToolbarController
|
||||
@Nullable
|
||||
private Activity mActivity;
|
||||
@NonNull
|
||||
private final Toolbar mToolbar;
|
||||
private final MaterialToolbar mToolbar;
|
||||
@NonNull
|
||||
protected final View.OnClickListener mNavigationClickListener = view -> onUpClick();
|
||||
|
||||
@@ -39,7 +41,7 @@ public class ToolbarController
|
||||
setSupportActionBar(activity, mToolbar);
|
||||
}
|
||||
|
||||
private void setSupportActionBar(@NonNull Activity activity, @NonNull Toolbar toolbar)
|
||||
private void setSupportActionBar(@NonNull Activity activity, @NonNull MaterialToolbar toolbar)
|
||||
{
|
||||
AppCompatActivity appCompatActivity = (AppCompatActivity) activity;
|
||||
appCompatActivity.setSupportActionBar(toolbar);
|
||||
@@ -86,7 +88,7 @@ public class ToolbarController
|
||||
}
|
||||
|
||||
@NonNull
|
||||
public Toolbar getToolbar()
|
||||
public MaterialToolbar getToolbar()
|
||||
{
|
||||
return mToolbar;
|
||||
}
|
||||
|
||||
@@ -14,7 +14,6 @@ import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.appcompat.widget.Toolbar;
|
||||
import androidx.core.view.ViewCompat;
|
||||
import androidx.core.view.WindowCompat;
|
||||
import androidx.core.view.WindowInsetsCompat;
|
||||
@@ -33,6 +32,8 @@ import app.organicmaps.util.Graphics;
|
||||
import app.organicmaps.util.InputUtils;
|
||||
import app.organicmaps.util.UiUtils;
|
||||
import app.organicmaps.util.WindowInsetUtils.PaddingInsetsListener;
|
||||
|
||||
import com.google.android.material.appbar.MaterialToolbar;
|
||||
import com.google.android.material.textfield.TextInputEditText;
|
||||
import com.google.android.material.textfield.TextInputLayout;
|
||||
|
||||
@@ -203,7 +204,7 @@ public class EditBookmarkFragment extends BaseMwmDialogFragment implements View.
|
||||
|
||||
private void initToolbar(View view)
|
||||
{
|
||||
Toolbar toolbar = view.findViewById(R.id.toolbar);
|
||||
MaterialToolbar toolbar = view.findViewById(R.id.toolbar);
|
||||
|
||||
ViewCompat.setOnApplyWindowInsetsListener(toolbar, PaddingInsetsListener.excludeBottom());
|
||||
|
||||
|
||||
@@ -18,7 +18,6 @@ import android.widget.TextView;
|
||||
import androidx.annotation.IdRes;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.appcompat.widget.Toolbar;
|
||||
import androidx.core.content.ContextCompat;
|
||||
import androidx.fragment.app.Fragment;
|
||||
import androidx.fragment.app.FragmentManager;
|
||||
@@ -52,6 +51,8 @@ import app.organicmaps.widget.placepage.sections.PlacePageOpeningHoursFragment;
|
||||
import app.organicmaps.widget.placepage.sections.PlacePagePhoneFragment;
|
||||
import app.organicmaps.widget.placepage.sections.PlacePageProductsFragment;
|
||||
import app.organicmaps.widget.placepage.sections.PlacePageWikipediaFragment;
|
||||
|
||||
import com.google.android.material.appbar.MaterialToolbar;
|
||||
import com.google.android.material.button.MaterialButton;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@@ -86,7 +87,7 @@ public class PlacePageView extends Fragment implements View.OnClickListener,
|
||||
private View mFrame;
|
||||
// Preview.
|
||||
private ViewGroup mPreview;
|
||||
private Toolbar mToolbar;
|
||||
private MaterialToolbar mToolbar;
|
||||
private TextView mTvTitle;
|
||||
private TextView mTvSecondaryTitle;
|
||||
private TextView mTvSubtitle;
|
||||
|
||||
Reference in New Issue
Block a user