Migration from databinding to viewbinding
This commit is contained in:
parent
c968c53441
commit
2bc5438348
@ -47,7 +47,7 @@ android {
|
|||||||
}
|
}
|
||||||
|
|
||||||
buildFeatures {
|
buildFeatures {
|
||||||
dataBinding = true
|
viewBinding true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -11,7 +11,6 @@ import android.widget.LinearLayout;
|
|||||||
|
|
||||||
import androidx.annotation.Nullable;
|
import androidx.annotation.Nullable;
|
||||||
import androidx.appcompat.app.AppCompatActivity;
|
import androidx.appcompat.app.AppCompatActivity;
|
||||||
import androidx.databinding.DataBindingUtil;
|
|
||||||
import androidx.lifecycle.ViewModelProviders;
|
import androidx.lifecycle.ViewModelProviders;
|
||||||
import androidx.recyclerview.widget.DividerItemDecoration;
|
import androidx.recyclerview.widget.DividerItemDecoration;
|
||||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||||
@ -19,11 +18,11 @@ import androidx.recyclerview.widget.LinearLayoutManager;
|
|||||||
import com.afollestad.materialdialogs.MaterialDialog;
|
import com.afollestad.materialdialogs.MaterialDialog;
|
||||||
import com.readrops.app.R;
|
import com.readrops.app.R;
|
||||||
import com.readrops.app.adapters.AccountTypeListAdapter;
|
import com.readrops.app.adapters.AccountTypeListAdapter;
|
||||||
import com.readrops.readropsdb.entities.account.Account;
|
|
||||||
import com.readrops.readropsdb.entities.account.AccountType;
|
|
||||||
import com.readrops.app.databinding.ActivityAccountTypeListBinding;
|
import com.readrops.app.databinding.ActivityAccountTypeListBinding;
|
||||||
import com.readrops.app.utils.Utils;
|
import com.readrops.app.utils.Utils;
|
||||||
import com.readrops.app.viewmodels.AccountViewModel;
|
import com.readrops.app.viewmodels.AccountViewModel;
|
||||||
|
import com.readrops.readropsdb.entities.account.Account;
|
||||||
|
import com.readrops.readropsdb.entities.account.AccountType;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@ -52,7 +51,9 @@ public class AccountTypeListActivity extends AppCompatActivity {
|
|||||||
protected void onCreate(Bundle savedInstanceState) {
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
|
|
||||||
binding = DataBindingUtil.setContentView(this, R.layout.activity_account_type_list);
|
binding = ActivityAccountTypeListBinding.inflate(getLayoutInflater());
|
||||||
|
setContentView(binding.getRoot());
|
||||||
|
|
||||||
viewModel = ViewModelProviders.of(this).get(AccountViewModel.class);
|
viewModel = ViewModelProviders.of(this).get(AccountViewModel.class);
|
||||||
|
|
||||||
setTitle(R.string.new_account);
|
setTitle(R.string.new_account);
|
||||||
|
@ -8,16 +8,15 @@ import android.view.MenuItem;
|
|||||||
import android.view.View;
|
import android.view.View;
|
||||||
|
|
||||||
import androidx.appcompat.app.AppCompatActivity;
|
import androidx.appcompat.app.AppCompatActivity;
|
||||||
import androidx.databinding.DataBindingUtil;
|
|
||||||
import androidx.lifecycle.ViewModelProviders;
|
import androidx.lifecycle.ViewModelProviders;
|
||||||
|
|
||||||
import com.readrops.app.R;
|
import com.readrops.app.R;
|
||||||
import com.readrops.readropsdb.entities.account.Account;
|
|
||||||
import com.readrops.readropsdb.entities.account.AccountType;
|
|
||||||
import com.readrops.app.databinding.ActivityAddAccountBinding;
|
import com.readrops.app.databinding.ActivityAddAccountBinding;
|
||||||
import com.readrops.app.utils.SharedPreferencesManager;
|
import com.readrops.app.utils.SharedPreferencesManager;
|
||||||
import com.readrops.app.utils.Utils;
|
import com.readrops.app.utils.Utils;
|
||||||
import com.readrops.app.viewmodels.AccountViewModel;
|
import com.readrops.app.viewmodels.AccountViewModel;
|
||||||
|
import com.readrops.readropsdb.entities.account.Account;
|
||||||
|
import com.readrops.readropsdb.entities.account.AccountType;
|
||||||
|
|
||||||
import io.reactivex.Completable;
|
import io.reactivex.Completable;
|
||||||
import io.reactivex.CompletableObserver;
|
import io.reactivex.CompletableObserver;
|
||||||
@ -44,7 +43,9 @@ public class AddAccountActivity extends AppCompatActivity {
|
|||||||
protected void onCreate(Bundle savedInstanceState) {
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
|
|
||||||
binding = DataBindingUtil.setContentView(this, R.layout.activity_add_account);
|
binding = ActivityAddAccountBinding.inflate(getLayoutInflater());
|
||||||
|
setContentView(binding.getRoot());
|
||||||
|
|
||||||
viewModel = ViewModelProviders.of(this).get(AccountViewModel.class);
|
viewModel = ViewModelProviders.of(this).get(AccountViewModel.class);
|
||||||
|
|
||||||
accountType = getIntent().getParcelableExtra(ACCOUNT_TYPE);
|
accountType = getIntent().getParcelableExtra(ACCOUNT_TYPE);
|
||||||
|
@ -12,7 +12,6 @@ import android.view.View;
|
|||||||
|
|
||||||
import androidx.annotation.Nullable;
|
import androidx.annotation.Nullable;
|
||||||
import androidx.appcompat.app.AppCompatActivity;
|
import androidx.appcompat.app.AppCompatActivity;
|
||||||
import androidx.databinding.DataBindingUtil;
|
|
||||||
import androidx.lifecycle.ViewModelProviders;
|
import androidx.lifecycle.ViewModelProviders;
|
||||||
import androidx.recyclerview.widget.DiffUtil;
|
import androidx.recyclerview.widget.DiffUtil;
|
||||||
import androidx.recyclerview.widget.ItemTouchHelper;
|
import androidx.recyclerview.widget.ItemTouchHelper;
|
||||||
@ -63,7 +62,9 @@ public class AddFeedActivity extends AppCompatActivity implements View.OnClickLi
|
|||||||
@Override
|
@Override
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
binding = DataBindingUtil.setContentView(this, R.layout.activity_add_feed);
|
|
||||||
|
binding = ActivityAddFeedBinding.inflate(getLayoutInflater());
|
||||||
|
setContentView(binding.getRoot());
|
||||||
|
|
||||||
binding.addFeedLoad.setOnClickListener(this);
|
binding.addFeedLoad.setOnClickListener(this);
|
||||||
binding.addFeedOk.setOnClickListener(this);
|
binding.addFeedOk.setOnClickListener(this);
|
||||||
|
@ -6,7 +6,6 @@ import android.view.MenuItem;
|
|||||||
|
|
||||||
import androidx.annotation.Nullable;
|
import androidx.annotation.Nullable;
|
||||||
import androidx.appcompat.app.AppCompatActivity;
|
import androidx.appcompat.app.AppCompatActivity;
|
||||||
import androidx.databinding.DataBindingUtil;
|
|
||||||
import androidx.fragment.app.Fragment;
|
import androidx.fragment.app.Fragment;
|
||||||
import androidx.fragment.app.FragmentManager;
|
import androidx.fragment.app.FragmentManager;
|
||||||
import androidx.fragment.app.FragmentPagerAdapter;
|
import androidx.fragment.app.FragmentPagerAdapter;
|
||||||
@ -14,13 +13,13 @@ import androidx.lifecycle.ViewModelProviders;
|
|||||||
|
|
||||||
import com.afollestad.materialdialogs.MaterialDialog;
|
import com.afollestad.materialdialogs.MaterialDialog;
|
||||||
import com.readrops.app.R;
|
import com.readrops.app.R;
|
||||||
import com.readrops.readropsdb.entities.Folder;
|
|
||||||
import com.readrops.readropsdb.entities.account.Account;
|
|
||||||
import com.readrops.app.databinding.ActivityManageFeedsFoldersBinding;
|
import com.readrops.app.databinding.ActivityManageFeedsFoldersBinding;
|
||||||
import com.readrops.app.fragments.FeedsFragment;
|
import com.readrops.app.fragments.FeedsFragment;
|
||||||
import com.readrops.app.fragments.FoldersFragment;
|
import com.readrops.app.fragments.FoldersFragment;
|
||||||
import com.readrops.app.utils.Utils;
|
import com.readrops.app.utils.Utils;
|
||||||
import com.readrops.app.viewmodels.ManageFeedsFoldersViewModel;
|
import com.readrops.app.viewmodels.ManageFeedsFoldersViewModel;
|
||||||
|
import com.readrops.readropsdb.entities.Folder;
|
||||||
|
import com.readrops.readropsdb.entities.account.Account;
|
||||||
import com.readrops.readropslibrary.utils.ConflictException;
|
import com.readrops.readropslibrary.utils.ConflictException;
|
||||||
import com.readrops.readropslibrary.utils.UnknownFormatException;
|
import com.readrops.readropslibrary.utils.UnknownFormatException;
|
||||||
|
|
||||||
@ -31,7 +30,6 @@ import static com.readrops.app.utils.ReadropsKeys.ACCOUNT;
|
|||||||
|
|
||||||
public class ManageFeedsFoldersActivity extends AppCompatActivity {
|
public class ManageFeedsFoldersActivity extends AppCompatActivity {
|
||||||
|
|
||||||
|
|
||||||
private ActivityManageFeedsFoldersBinding binding;
|
private ActivityManageFeedsFoldersBinding binding;
|
||||||
private ManageFeedsFoldersViewModel viewModel;
|
private ManageFeedsFoldersViewModel viewModel;
|
||||||
|
|
||||||
@ -41,7 +39,9 @@ public class ManageFeedsFoldersActivity extends AppCompatActivity {
|
|||||||
protected void onCreate(Bundle savedInstanceState) {
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
|
|
||||||
binding = DataBindingUtil.setContentView(this, R.layout.activity_manage_feeds_folders);
|
binding = ActivityManageFeedsFoldersBinding.inflate(getLayoutInflater());
|
||||||
|
setContentView(binding.getRoot());
|
||||||
|
|
||||||
setSupportActionBar(binding.manageFeedsFoldersToolbar);
|
setSupportActionBar(binding.manageFeedsFoldersToolbar);
|
||||||
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
|
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
|
||||||
|
|
||||||
|
@ -5,7 +5,6 @@ import android.os.Bundle
|
|||||||
import android.view.MenuItem
|
import android.view.MenuItem
|
||||||
import androidx.activity.viewModels
|
import androidx.activity.viewModels
|
||||||
import androidx.appcompat.app.AppCompatActivity
|
import androidx.appcompat.app.AppCompatActivity
|
||||||
import androidx.databinding.DataBindingUtil
|
|
||||||
import androidx.lifecycle.Observer
|
import androidx.lifecycle.Observer
|
||||||
import androidx.recyclerview.widget.LinearLayoutManager
|
import androidx.recyclerview.widget.LinearLayoutManager
|
||||||
import com.afollestad.materialdialogs.MaterialDialog
|
import com.afollestad.materialdialogs.MaterialDialog
|
||||||
@ -34,7 +33,8 @@ class NotificationPermissionActivity : AppCompatActivity() {
|
|||||||
|
|
||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
binding = DataBindingUtil.setContentView(this, R.layout.activity_notification_permission)
|
binding = ActivityNotificationPermissionBinding.inflate(layoutInflater)
|
||||||
|
setContentView(binding.root)
|
||||||
|
|
||||||
setTitle(R.string.notifications)
|
setTitle(R.string.notifications)
|
||||||
supportActionBar?.setDisplayHomeAsUpEnabled(true)
|
supportActionBar?.setDisplayHomeAsUpEnabled(true)
|
||||||
|
@ -47,5 +47,12 @@ public class SplashActivity extends AppCompatActivity {
|
|||||||
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
/*PeriodicWorkRequest request = new PeriodicWorkRequest.Builder(SyncWorker.class, 15, TimeUnit.MINUTES)
|
||||||
|
.addTag(SyncWorker.Companion.getTAG())
|
||||||
|
.build();
|
||||||
|
|
||||||
|
WorkManager.getInstance(this).enqueueUniquePeriodicWork(SyncWorker.Companion.getTAG(), ExistingPeriodicWorkPolicy.REPLACE, request);*/
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2,22 +2,22 @@ package com.readrops.app.activities
|
|||||||
|
|
||||||
import android.annotation.SuppressLint
|
import android.annotation.SuppressLint
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
|
import android.content.res.ColorStateList
|
||||||
import android.graphics.Bitmap
|
import android.graphics.Bitmap
|
||||||
import android.graphics.PorterDuff
|
|
||||||
import android.graphics.drawable.ColorDrawable
|
import android.graphics.drawable.ColorDrawable
|
||||||
import android.net.Uri
|
import android.net.Uri
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
|
import android.view.LayoutInflater
|
||||||
import android.view.Menu
|
import android.view.Menu
|
||||||
import android.view.MenuItem
|
import android.view.MenuItem
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import android.webkit.*
|
import android.webkit.*
|
||||||
import androidx.appcompat.app.AppCompatActivity
|
import androidx.appcompat.app.AppCompatActivity
|
||||||
import androidx.core.content.ContextCompat
|
import androidx.core.content.ContextCompat
|
||||||
import androidx.databinding.DataBindingUtil
|
|
||||||
import com.readrops.app.R
|
import com.readrops.app.R
|
||||||
import com.readrops.app.databinding.ActivityWebViewBinding
|
import com.readrops.app.databinding.ActivityWebViewBinding
|
||||||
|
import com.readrops.app.utils.ReadropsKeys
|
||||||
import com.readrops.app.utils.ReadropsKeys.ACTION_BAR_COLOR
|
import com.readrops.app.utils.ReadropsKeys.ACTION_BAR_COLOR
|
||||||
import com.readrops.app.utils.ReadropsKeys.WEB_URL
|
|
||||||
|
|
||||||
class WebViewActivity : AppCompatActivity() {
|
class WebViewActivity : AppCompatActivity() {
|
||||||
|
|
||||||
@ -25,21 +25,26 @@ class WebViewActivity : AppCompatActivity() {
|
|||||||
|
|
||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
binding = DataBindingUtil.setContentView(this, R.layout.activity_web_view)
|
binding = ActivityWebViewBinding.inflate(layoutInflater)
|
||||||
|
setContentView(binding.root)
|
||||||
|
|
||||||
setSupportActionBar(binding.activityWebViewToolbar)
|
setSupportActionBar(binding.activityWebViewToolbar)
|
||||||
supportActionBar?.setDisplayHomeAsUpEnabled(true)
|
supportActionBar?.setDisplayHomeAsUpEnabled(true)
|
||||||
title = ""
|
title = ""
|
||||||
|
|
||||||
val actionBarColor = intent.getIntExtra(ACTION_BAR_COLOR, ContextCompat.getColor(this, R.color.colorPrimary))
|
val actionBarColor = intent.getIntExtra(ACTION_BAR_COLOR, ContextCompat.getColor(this, R.color.colorPrimary))
|
||||||
supportActionBar?.setBackgroundDrawable(ColorDrawable(actionBarColor))
|
supportActionBar?.setBackgroundDrawable(ColorDrawable(actionBarColor))
|
||||||
setWebViewSettings()
|
setWebViewSettings()
|
||||||
|
|
||||||
binding.activityWebViewSwipe.setOnRefreshListener { binding.webView.reload() }
|
with(binding) {
|
||||||
binding.activityWebViewProgress.indeterminateDrawable.setColorFilter(actionBarColor, PorterDuff.Mode.SRC_IN)
|
activityWebViewSwipe.setOnRefreshListener { binding.webView.reload() }
|
||||||
binding.activityWebViewProgress.max = 100
|
activityWebViewProgress.progressTintList = ColorStateList.valueOf(actionBarColor)
|
||||||
|
activityWebViewProgress.max = 100
|
||||||
|
|
||||||
|
val url: String = intent.getStringExtra(ReadropsKeys.WEB_URL)!!
|
||||||
|
webView.loadUrl(url)
|
||||||
|
}
|
||||||
|
|
||||||
val url: String = intent.getStringExtra(WEB_URL)
|
|
||||||
binding.webView.loadUrl(url)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@SuppressLint("SetJavaScriptEnabled")
|
@SuppressLint("SetJavaScriptEnabled")
|
||||||
@ -56,9 +61,11 @@ class WebViewActivity : AppCompatActivity() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
override fun onPageStarted(view: WebView?, url: String?, favicon: Bitmap?) {
|
override fun onPageStarted(view: WebView?, url: String?, favicon: Bitmap?) {
|
||||||
binding.activityWebViewSwipe.isRefreshing = false
|
with(binding) {
|
||||||
binding.activityWebViewProgress.progress = 0
|
activityWebViewSwipe.isRefreshing = false
|
||||||
binding.activityWebViewProgress.visibility = View.VISIBLE
|
activityWebViewProgress.progress = 0
|
||||||
|
activityWebViewProgress.visibility = View.VISIBLE
|
||||||
|
}
|
||||||
|
|
||||||
super.onPageStarted(view, url, favicon)
|
super.onPageStarted(view, url, favicon)
|
||||||
}
|
}
|
||||||
@ -73,9 +80,11 @@ class WebViewActivity : AppCompatActivity() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
override fun onProgressChanged(view: WebView?, newProgress: Int) {
|
override fun onProgressChanged(view: WebView?, newProgress: Int) {
|
||||||
binding.activityWebViewProgress.progress = newProgress
|
with(binding) {
|
||||||
if (newProgress == 100)
|
activityWebViewProgress.progress = newProgress
|
||||||
binding.activityWebViewProgress.visibility = View.GONE
|
if (newProgress == 100) activityWebViewProgress.visibility = View.GONE
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
super.onProgressChanged(view, newProgress)
|
super.onProgressChanged(view, newProgress)
|
||||||
}
|
}
|
||||||
@ -106,13 +115,15 @@ class WebViewActivity : AppCompatActivity() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return super.onOptionsItemSelected(item)
|
return super.onOptionsItemSelected(item!!)
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun shareLink() {
|
private fun shareLink() {
|
||||||
val intent = Intent(Intent.ACTION_SEND)
|
val intent = Intent(Intent.ACTION_SEND).apply {
|
||||||
intent.type = "text/plain"
|
type = "text/plain"
|
||||||
intent.putExtra(Intent.EXTRA_TEXT, binding.webView.url.toString())
|
putExtra(Intent.EXTRA_TEXT, binding.webView.url.toString())
|
||||||
|
}
|
||||||
|
|
||||||
startActivity(Intent.createChooser(intent, getString(R.string.share_url)))
|
startActivity(Intent.createChooser(intent, getString(R.string.share_url)))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -20,11 +20,8 @@ public class AccountArrayAdapter extends ArrayAdapter<Account> {
|
|||||||
|
|
||||||
public AccountArrayAdapter(@NonNull Context context, @NonNull List<Account> objects) {
|
public AccountArrayAdapter(@NonNull Context context, @NonNull List<Account> objects) {
|
||||||
super(context, 0, objects);
|
super(context, 0, objects);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public View getDropDownView(int position, @Nullable View convertView, @NonNull ViewGroup parent) {
|
public View getDropDownView(int position, @Nullable View convertView, @NonNull ViewGroup parent) {
|
||||||
return createItemView(position, convertView, parent);
|
return createItemView(position, convertView, parent);
|
||||||
|
@ -4,12 +4,10 @@ import android.view.LayoutInflater;
|
|||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
|
|
||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
import androidx.databinding.DataBindingUtil;
|
|
||||||
import androidx.recyclerview.widget.RecyclerView;
|
import androidx.recyclerview.widget.RecyclerView;
|
||||||
|
|
||||||
import com.readrops.app.R;
|
|
||||||
import com.readrops.readropsdb.entities.account.AccountType;
|
|
||||||
import com.readrops.app.databinding.AccountTypeItemBinding;
|
import com.readrops.app.databinding.AccountTypeItemBinding;
|
||||||
|
import com.readrops.readropsdb.entities.account.AccountType;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@ -25,8 +23,8 @@ public class AccountTypeListAdapter extends RecyclerView.Adapter<AccountTypeList
|
|||||||
@NonNull
|
@NonNull
|
||||||
@Override
|
@Override
|
||||||
public AccountTypeViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
|
public AccountTypeViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
|
||||||
AccountTypeItemBinding binding = DataBindingUtil.inflate(LayoutInflater.from(parent.getContext()),
|
AccountTypeItemBinding binding = AccountTypeItemBinding.inflate(LayoutInflater.from(parent.getContext()),
|
||||||
R.layout.account_type_item, parent, false);
|
parent, false);
|
||||||
|
|
||||||
return new AccountTypeViewHolder(binding);
|
return new AccountTypeViewHolder(binding);
|
||||||
}
|
}
|
||||||
|
@ -6,15 +6,14 @@ import android.view.ViewGroup;
|
|||||||
|
|
||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
import androidx.annotation.Nullable;
|
import androidx.annotation.Nullable;
|
||||||
import androidx.databinding.DataBindingUtil;
|
|
||||||
import androidx.recyclerview.widget.DiffUtil;
|
import androidx.recyclerview.widget.DiffUtil;
|
||||||
import androidx.recyclerview.widget.ListAdapter;
|
import androidx.recyclerview.widget.ListAdapter;
|
||||||
import androidx.recyclerview.widget.RecyclerView;
|
import androidx.recyclerview.widget.RecyclerView;
|
||||||
|
|
||||||
import com.readrops.app.R;
|
import com.readrops.app.R;
|
||||||
|
import com.readrops.app.databinding.FolderLayoutBinding;
|
||||||
import com.readrops.readropsdb.entities.Folder;
|
import com.readrops.readropsdb.entities.Folder;
|
||||||
import com.readrops.readropsdb.pojo.FolderWithFeedCount;
|
import com.readrops.readropsdb.pojo.FolderWithFeedCount;
|
||||||
import com.readrops.app.databinding.FolderLayoutBinding;
|
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@ -55,8 +54,8 @@ public class FoldersAdapter extends ListAdapter<FolderWithFeedCount, FoldersAdap
|
|||||||
@NonNull
|
@NonNull
|
||||||
@Override
|
@Override
|
||||||
public FolderViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
|
public FolderViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
|
||||||
FolderLayoutBinding binding = DataBindingUtil.inflate(LayoutInflater.from(parent.getContext()),
|
FolderLayoutBinding binding = FolderLayoutBinding.inflate(LayoutInflater.from(parent.getContext()),
|
||||||
R.layout.folder_layout, parent, false);
|
parent, false);
|
||||||
|
|
||||||
return new FolderViewHolder(binding);
|
return new FolderViewHolder(binding);
|
||||||
}
|
}
|
||||||
|
@ -2,14 +2,12 @@ package com.readrops.app.adapters
|
|||||||
|
|
||||||
import android.view.LayoutInflater
|
import android.view.LayoutInflater
|
||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
import androidx.databinding.DataBindingUtil
|
|
||||||
import androidx.recyclerview.widget.DiffUtil
|
import androidx.recyclerview.widget.DiffUtil
|
||||||
import androidx.recyclerview.widget.ListAdapter
|
import androidx.recyclerview.widget.ListAdapter
|
||||||
import androidx.recyclerview.widget.RecyclerView
|
import androidx.recyclerview.widget.RecyclerView
|
||||||
import com.bumptech.glide.load.engine.DiskCacheStrategy
|
import com.bumptech.glide.load.engine.DiskCacheStrategy
|
||||||
import com.readrops.app.R
|
import com.readrops.app.R
|
||||||
import com.readrops.app.databinding.NotificationPermissionLayoutBinding
|
import com.readrops.app.databinding.NotificationPermissionLayoutBinding
|
||||||
import com.readrops.app.databinding.NotificationPermissionLayoutBindingImpl
|
|
||||||
import com.readrops.app.utils.GlideApp
|
import com.readrops.app.utils.GlideApp
|
||||||
import com.readrops.readropsdb.entities.Feed
|
import com.readrops.readropsdb.entities.Feed
|
||||||
|
|
||||||
@ -17,8 +15,7 @@ class NotificationPermissionListAdapter(var enableAll: Boolean, val listener: (f
|
|||||||
ListAdapter<Feed, NotificationPermissionListAdapter.NotificationPermissionViewHolder>(DIFF_CALLBACK) {
|
ListAdapter<Feed, NotificationPermissionListAdapter.NotificationPermissionViewHolder>(DIFF_CALLBACK) {
|
||||||
|
|
||||||
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): NotificationPermissionViewHolder {
|
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): NotificationPermissionViewHolder {
|
||||||
val binding = DataBindingUtil.inflate<NotificationPermissionLayoutBinding>(LayoutInflater.from(parent.context),
|
val binding = NotificationPermissionLayoutBinding.inflate(LayoutInflater.from(parent.context))
|
||||||
R.layout.notification_permission_layout, parent, false)
|
|
||||||
|
|
||||||
return NotificationPermissionViewHolder(binding)
|
return NotificationPermissionViewHolder(binding)
|
||||||
}
|
}
|
||||||
|
@ -6,19 +6,19 @@ import android.os.Bundle
|
|||||||
import android.view.LayoutInflater
|
import android.view.LayoutInflater
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
import androidx.databinding.DataBindingUtil
|
|
||||||
import com.google.android.material.bottomsheet.BottomSheetDialogFragment
|
import com.google.android.material.bottomsheet.BottomSheetDialogFragment
|
||||||
import com.readrops.app.R
|
|
||||||
import com.readrops.readropsdb.entities.account.Account
|
|
||||||
import com.readrops.readropsdb.pojo.FeedWithFolder
|
|
||||||
import com.readrops.app.databinding.FeedOptionsLayoutBinding
|
import com.readrops.app.databinding.FeedOptionsLayoutBinding
|
||||||
import com.readrops.app.utils.ReadropsKeys.ACCOUNT
|
import com.readrops.app.utils.ReadropsKeys.ACCOUNT
|
||||||
|
import com.readrops.readropsdb.entities.account.Account
|
||||||
|
import com.readrops.readropsdb.pojo.FeedWithFolder
|
||||||
|
|
||||||
class FeedOptionsDialogFragment : BottomSheetDialogFragment() {
|
class FeedOptionsDialogFragment : BottomSheetDialogFragment() {
|
||||||
|
|
||||||
private lateinit var feedWithFolder: FeedWithFolder
|
private lateinit var feedWithFolder: FeedWithFolder
|
||||||
private lateinit var account: Account
|
private lateinit var account: Account
|
||||||
private lateinit var binding: FeedOptionsLayoutBinding
|
|
||||||
|
private var _binding: FeedOptionsLayoutBinding? = null
|
||||||
|
private val binding get() = _binding!!
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
const val FEED_KEY = "FEED_KEY"
|
const val FEED_KEY = "FEED_KEY"
|
||||||
@ -43,7 +43,7 @@ class FeedOptionsDialogFragment : BottomSheetDialogFragment() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
|
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
|
||||||
binding = DataBindingUtil.inflate(inflater, R.layout.feed_options_layout, container, false)
|
_binding = FeedOptionsLayoutBinding.inflate(inflater, container, false)
|
||||||
|
|
||||||
return binding.root
|
return binding.root
|
||||||
}
|
}
|
||||||
@ -58,6 +58,11 @@ class FeedOptionsDialogFragment : BottomSheetDialogFragment() {
|
|||||||
binding.feedOptionsDeleteLayout.setOnClickListener { deleteFeed() }
|
binding.feedOptionsDeleteLayout.setOnClickListener { deleteFeed() }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun onDestroyView() {
|
||||||
|
super.onDestroyView()
|
||||||
|
_binding = null
|
||||||
|
}
|
||||||
|
|
||||||
private fun openEditFeedDialog() {
|
private fun openEditFeedDialog() {
|
||||||
dismiss()
|
dismiss()
|
||||||
val editFeedDialogFragment = EditFeedDialogFragment.newInstance(feedWithFolder, account)
|
val editFeedDialogFragment = EditFeedDialogFragment.newInstance(feedWithFolder, account)
|
||||||
|
@ -16,13 +16,13 @@ import androidx.recyclerview.widget.LinearLayoutManager;
|
|||||||
import com.afollestad.materialdialogs.MaterialDialog;
|
import com.afollestad.materialdialogs.MaterialDialog;
|
||||||
import com.readrops.app.R;
|
import com.readrops.app.R;
|
||||||
import com.readrops.app.adapters.FeedsAdapter;
|
import com.readrops.app.adapters.FeedsAdapter;
|
||||||
import com.readrops.readropsdb.entities.Feed;
|
|
||||||
import com.readrops.readropsdb.entities.account.Account;
|
|
||||||
import com.readrops.readropsdb.pojo.FeedWithFolder;
|
|
||||||
import com.readrops.app.databinding.FragmentFeedsBinding;
|
import com.readrops.app.databinding.FragmentFeedsBinding;
|
||||||
import com.readrops.app.utils.SharedPreferencesManager;
|
import com.readrops.app.utils.SharedPreferencesManager;
|
||||||
import com.readrops.app.utils.Utils;
|
import com.readrops.app.utils.Utils;
|
||||||
import com.readrops.app.viewmodels.ManageFeedsFoldersViewModel;
|
import com.readrops.app.viewmodels.ManageFeedsFoldersViewModel;
|
||||||
|
import com.readrops.readropsdb.entities.Feed;
|
||||||
|
import com.readrops.readropsdb.entities.account.Account;
|
||||||
|
import com.readrops.readropsdb.pojo.FeedWithFolder;
|
||||||
|
|
||||||
import io.reactivex.android.schedulers.AndroidSchedulers;
|
import io.reactivex.android.schedulers.AndroidSchedulers;
|
||||||
import io.reactivex.observers.DisposableCompletableObserver;
|
import io.reactivex.observers.DisposableCompletableObserver;
|
||||||
@ -81,7 +81,7 @@ public class FeedsFragment extends Fragment {
|
|||||||
@Override
|
@Override
|
||||||
public View onCreateView(LayoutInflater inflater, ViewGroup container,
|
public View onCreateView(LayoutInflater inflater, ViewGroup container,
|
||||||
Bundle savedInstanceState) {
|
Bundle savedInstanceState) {
|
||||||
binding = FragmentFeedsBinding.inflate(inflater);
|
binding = FragmentFeedsBinding.inflate(inflater, container, false);
|
||||||
|
|
||||||
return binding.getRoot();
|
return binding.getRoot();
|
||||||
}
|
}
|
||||||
@ -107,6 +107,12 @@ public class FeedsFragment extends Fragment {
|
|||||||
binding.feedsRecyclerview.setAdapter(adapter);
|
binding.feedsRecyclerview.setAdapter(adapter);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onDestroyView() {
|
||||||
|
super.onDestroyView();
|
||||||
|
binding = null;
|
||||||
|
}
|
||||||
|
|
||||||
public void deleteFeed(Feed feed) {
|
public void deleteFeed(Feed feed) {
|
||||||
new MaterialDialog.Builder(getContext())
|
new MaterialDialog.Builder(getContext())
|
||||||
.title(R.string.delete_feed)
|
.title(R.string.delete_feed)
|
||||||
|
@ -4,16 +4,51 @@ import android.os.Bundle
|
|||||||
import android.view.LayoutInflater
|
import android.view.LayoutInflater
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import android.view.ViewGroup
|
import android.view.ViewGroup
|
||||||
import androidx.databinding.DataBindingUtil
|
|
||||||
import com.google.android.material.bottomsheet.BottomSheetDialogFragment
|
import com.google.android.material.bottomsheet.BottomSheetDialogFragment
|
||||||
import com.readrops.app.R
|
|
||||||
import com.readrops.readropsdb.entities.Folder
|
|
||||||
import com.readrops.app.databinding.FolderOptionsLayoutBinding
|
import com.readrops.app.databinding.FolderOptionsLayoutBinding
|
||||||
|
import com.readrops.readropsdb.entities.Folder
|
||||||
|
|
||||||
class FolderOptionsDialogFragment : BottomSheetDialogFragment() {
|
class FolderOptionsDialogFragment : BottomSheetDialogFragment() {
|
||||||
|
|
||||||
private lateinit var folder: Folder
|
private lateinit var folder: Folder
|
||||||
private lateinit var foldersOptionsLayoutBinding: FolderOptionsLayoutBinding
|
|
||||||
|
private var _binding: FolderOptionsLayoutBinding? = null
|
||||||
|
private val binding get() = _binding!!
|
||||||
|
|
||||||
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
|
super.onCreate(savedInstanceState)
|
||||||
|
|
||||||
|
folder = arguments?.getParcelable(FOLDER_KEY)!!
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
|
||||||
|
_binding = FolderOptionsLayoutBinding.inflate(inflater, container, false)
|
||||||
|
|
||||||
|
return binding.root
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
|
super.onViewCreated(view, savedInstanceState)
|
||||||
|
|
||||||
|
binding.folderOptionsTitle.text = folder.name
|
||||||
|
binding.folderOptionsEdit.setOnClickListener { openEditFolderDialog() }
|
||||||
|
binding.folderOptionsDelete.setOnClickListener { deleteFolder() }
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun onDestroyView() {
|
||||||
|
super.onDestroyView()
|
||||||
|
_binding = null
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun openEditFolderDialog() {
|
||||||
|
dismiss()
|
||||||
|
(parentFragment as FoldersFragment).editFolder(folder)
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun deleteFolder() {
|
||||||
|
dismiss()
|
||||||
|
(parentFragment as FoldersFragment).deleteFolder(folder)
|
||||||
|
}
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
const val FOLDER_KEY = "FOLDER_KEY"
|
const val FOLDER_KEY = "FOLDER_KEY"
|
||||||
@ -28,34 +63,4 @@ class FolderOptionsDialogFragment : BottomSheetDialogFragment() {
|
|||||||
return fragment
|
return fragment
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
|
||||||
super.onCreate(savedInstanceState)
|
|
||||||
|
|
||||||
folder = arguments?.getParcelable(FOLDER_KEY)!!
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
|
|
||||||
foldersOptionsLayoutBinding = DataBindingUtil.inflate(inflater, R.layout.folder_options_layout, container, false)
|
|
||||||
|
|
||||||
return foldersOptionsLayoutBinding.root
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
|
||||||
super.onViewCreated(view, savedInstanceState)
|
|
||||||
|
|
||||||
foldersOptionsLayoutBinding.folderOptionsTitle.text = folder.name
|
|
||||||
foldersOptionsLayoutBinding.folderOptionsEdit.setOnClickListener { openEditFolderDialog() }
|
|
||||||
foldersOptionsLayoutBinding.folderOptionsDelete.setOnClickListener { deleteFolder() }
|
|
||||||
}
|
|
||||||
|
|
||||||
private fun openEditFolderDialog() {
|
|
||||||
dismiss()
|
|
||||||
(parentFragment as FoldersFragment).editFolder(folder)
|
|
||||||
}
|
|
||||||
|
|
||||||
private fun deleteFolder() {
|
|
||||||
dismiss()
|
|
||||||
(parentFragment as FoldersFragment).deleteFolder(folder)
|
|
||||||
}
|
|
||||||
}
|
}
|
@ -9,7 +9,6 @@ import android.view.ViewGroup;
|
|||||||
|
|
||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
import androidx.annotation.Nullable;
|
import androidx.annotation.Nullable;
|
||||||
import androidx.databinding.DataBindingUtil;
|
|
||||||
import androidx.fragment.app.Fragment;
|
import androidx.fragment.app.Fragment;
|
||||||
import androidx.lifecycle.ViewModelProviders;
|
import androidx.lifecycle.ViewModelProviders;
|
||||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||||
@ -17,12 +16,12 @@ import androidx.recyclerview.widget.LinearLayoutManager;
|
|||||||
import com.afollestad.materialdialogs.MaterialDialog;
|
import com.afollestad.materialdialogs.MaterialDialog;
|
||||||
import com.readrops.app.R;
|
import com.readrops.app.R;
|
||||||
import com.readrops.app.adapters.FoldersAdapter;
|
import com.readrops.app.adapters.FoldersAdapter;
|
||||||
import com.readrops.readropsdb.entities.Folder;
|
|
||||||
import com.readrops.readropsdb.entities.account.Account;
|
|
||||||
import com.readrops.app.databinding.FragmentFoldersBinding;
|
import com.readrops.app.databinding.FragmentFoldersBinding;
|
||||||
import com.readrops.app.utils.SharedPreferencesManager;
|
import com.readrops.app.utils.SharedPreferencesManager;
|
||||||
import com.readrops.app.utils.Utils;
|
import com.readrops.app.utils.Utils;
|
||||||
import com.readrops.app.viewmodels.ManageFeedsFoldersViewModel;
|
import com.readrops.app.viewmodels.ManageFeedsFoldersViewModel;
|
||||||
|
import com.readrops.readropsdb.entities.Folder;
|
||||||
|
import com.readrops.readropsdb.entities.account.Account;
|
||||||
import com.readrops.readropslibrary.utils.ConflictException;
|
import com.readrops.readropslibrary.utils.ConflictException;
|
||||||
import com.readrops.readropslibrary.utils.UnknownFormatException;
|
import com.readrops.readropslibrary.utils.UnknownFormatException;
|
||||||
|
|
||||||
@ -101,7 +100,7 @@ public class FoldersFragment extends Fragment {
|
|||||||
@Override
|
@Override
|
||||||
public View onCreateView(LayoutInflater inflater, ViewGroup container,
|
public View onCreateView(LayoutInflater inflater, ViewGroup container,
|
||||||
Bundle savedInstanceState) {
|
Bundle savedInstanceState) {
|
||||||
binding = DataBindingUtil.inflate(inflater, R.layout.fragment_folders, container, false);
|
binding = FragmentFoldersBinding.inflate(inflater, container, false);
|
||||||
|
|
||||||
return binding.getRoot();
|
return binding.getRoot();
|
||||||
}
|
}
|
||||||
|
@ -1,8 +1,7 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<layout xmlns:android="http://schemas.android.com/apk/res/android"
|
|
||||||
xmlns:tools="http://schemas.android.com/tools">
|
|
||||||
|
|
||||||
<RelativeLayout
|
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:background="?android:attr/selectableItemBackground"
|
android:background="?android:attr/selectableItemBackground"
|
||||||
@ -27,4 +26,3 @@
|
|||||||
|
|
||||||
</RelativeLayout>
|
</RelativeLayout>
|
||||||
|
|
||||||
</layout>
|
|
@ -1,12 +1,11 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<layout xmlns:android="http://schemas.android.com/apk/res/android"
|
|
||||||
|
<androidx.core.widget.NestedScrollView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
xmlns:tools="http://schemas.android.com/tools"
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
tools:context=".activities.AccountTypeListActivity">
|
|
||||||
|
|
||||||
<androidx.core.widget.NestedScrollView
|
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent">
|
android:layout_height="match_parent"
|
||||||
|
tools:context=".activities.AccountTypeListActivity">
|
||||||
|
|
||||||
<androidx.constraintlayout.widget.ConstraintLayout
|
<androidx.constraintlayout.widget.ConstraintLayout
|
||||||
android:id="@+id/account_type_list_root"
|
android:id="@+id/account_type_list_root"
|
||||||
@ -66,8 +65,8 @@
|
|||||||
style="@style/GenericButton"
|
style="@style/GenericButton"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="@string/opml_import"
|
|
||||||
android:onClick="openOPMLFile"
|
android:onClick="openOPMLFile"
|
||||||
|
android:text="@string/opml_import"
|
||||||
app:layout_constraintBottom_toBottomOf="parent"
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
@ -78,4 +77,3 @@
|
|||||||
</androidx.core.widget.NestedScrollView>
|
</androidx.core.widget.NestedScrollView>
|
||||||
|
|
||||||
|
|
||||||
</layout>
|
|
@ -1,12 +1,11 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<layout xmlns:android="http://schemas.android.com/apk/res/android"
|
|
||||||
|
<androidx.core.widget.NestedScrollView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
xmlns:tools="http://schemas.android.com/tools"
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
tools:context=".activities.AddAccountActivity">
|
|
||||||
|
|
||||||
<androidx.core.widget.NestedScrollView
|
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent">
|
android:layout_height="match_parent"
|
||||||
|
tools:context=".activities.AddAccountActivity">
|
||||||
|
|
||||||
<androidx.constraintlayout.widget.ConstraintLayout
|
<androidx.constraintlayout.widget.ConstraintLayout
|
||||||
android:id="@+id/add_account_root"
|
android:id="@+id/add_account_root"
|
||||||
@ -129,4 +128,3 @@
|
|||||||
</androidx.core.widget.NestedScrollView>
|
</androidx.core.widget.NestedScrollView>
|
||||||
|
|
||||||
|
|
||||||
</layout>
|
|
@ -1,13 +1,12 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<layout xmlns:android="http://schemas.android.com/apk/res/android"
|
|
||||||
|
<androidx.core.widget.NestedScrollView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
xmlns:tools="http://schemas.android.com/tools"
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
tools:context=".activities.AddFeedActivity">
|
|
||||||
|
|
||||||
<androidx.core.widget.NestedScrollView
|
|
||||||
android:id="@+id/add_feed_root"
|
android:id="@+id/add_feed_root"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent">
|
android:layout_height="match_parent"
|
||||||
|
tools:context=".activities.AddFeedActivity">
|
||||||
|
|
||||||
<androidx.constraintlayout.widget.ConstraintLayout
|
<androidx.constraintlayout.widget.ConstraintLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
@ -28,18 +27,18 @@
|
|||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:animateLayoutChanges="true"
|
android:animateLayoutChanges="true"
|
||||||
|
android:padding="16dp"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toBottomOf="@id/add_feed_account_spinner"
|
app:layout_constraintTop_toBottomOf="@id/add_feed_account_spinner">
|
||||||
android:padding="16dp">
|
|
||||||
|
|
||||||
<com.google.android.material.textfield.TextInputLayout
|
<com.google.android.material.textfield.TextInputLayout
|
||||||
android:id="@+id/add_feed_input_layout"
|
android:id="@+id/add_feed_input_layout"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
app:layout_constraintEnd_toStartOf="@id/add_feed_load"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
app:layout_constraintTop_toTopOf="parent">
|
||||||
app:layout_constraintEnd_toStartOf="@id/add_feed_load">
|
|
||||||
|
|
||||||
<com.google.android.material.textfield.TextInputEditText
|
<com.google.android.material.textfield.TextInputEditText
|
||||||
android:id="@+id/add_feed_text_input"
|
android:id="@+id/add_feed_text_input"
|
||||||
@ -56,12 +55,12 @@
|
|||||||
style="@style/GenericButton"
|
style="@style/GenericButton"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginTop="4dp"
|
|
||||||
android:layout_marginStart="6dp"
|
android:layout_marginStart="6dp"
|
||||||
|
android:layout_marginTop="4dp"
|
||||||
android:text="@string/load"
|
android:text="@string/load"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toEndOf="@id/add_feed_input_layout"
|
app:layout_constraintStart_toEndOf="@id/add_feed_input_layout"
|
||||||
app:layout_constraintTop_toTopOf="parent"
|
app:layout_constraintTop_toTopOf="parent" />
|
||||||
app:layout_constraintEnd_toEndOf="parent" />
|
|
||||||
|
|
||||||
<ProgressBar
|
<ProgressBar
|
||||||
android:id="@+id/add_feed_loading"
|
android:id="@+id/add_feed_loading"
|
||||||
@ -70,8 +69,8 @@
|
|||||||
android:layout_marginStart="8dp"
|
android:layout_marginStart="8dp"
|
||||||
android:layout_marginTop="8dp"
|
android:layout_marginTop="8dp"
|
||||||
android:visibility="gone"
|
android:visibility="gone"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toBottomOf="@+id/add_feed_input_layout"
|
app:layout_constraintTop_toBottomOf="@+id/add_feed_input_layout"
|
||||||
tools:visibility="gone" />
|
tools:visibility="gone" />
|
||||||
|
|
||||||
@ -81,11 +80,11 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginTop="6dp"
|
android:layout_marginTop="6dp"
|
||||||
android:visibility="gone"
|
android:visibility="gone"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toBottomOf="@id/add_feed_input_layout"
|
app:layout_constraintTop_toBottomOf="@id/add_feed_input_layout"
|
||||||
tools:visibility="visible"
|
tools:text="No feed found"
|
||||||
tools:text="No feed found" />
|
tools:visibility="visible" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/add_feed_results_text_view"
|
android:id="@+id/add_feed_results_text_view"
|
||||||
@ -107,18 +106,18 @@
|
|||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toBottomOf="@+id/add_feed_results_text_view"
|
app:layout_constraintTop_toBottomOf="@+id/add_feed_results_text_view"
|
||||||
tools:visibility="visible"
|
tools:itemCount="2"
|
||||||
tools:listitem="@layout/add_feed_item"
|
tools:listitem="@layout/add_feed_item"
|
||||||
tools:itemCount="2"/>
|
tools:visibility="visible" />
|
||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
|
||||||
<androidx.constraintlayout.widget.ConstraintLayout
|
<androidx.constraintlayout.widget.ConstraintLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
app:layout_constraintTop_toBottomOf="@id/add_feed_main_layout"
|
|
||||||
android:paddingStart="16dp"
|
android:paddingStart="16dp"
|
||||||
android:paddingEnd="16dp">
|
android:paddingEnd="16dp"
|
||||||
|
app:layout_constraintTop_toBottomOf="@id/add_feed_main_layout">
|
||||||
|
|
||||||
<Button
|
<Button
|
||||||
android:id="@+id/add_feed_ok"
|
android:id="@+id/add_feed_ok"
|
||||||
@ -154,9 +153,9 @@
|
|||||||
app:layout_constraintHorizontal_bias="0.6"
|
app:layout_constraintHorizontal_bias="0.6"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toBottomOf="@+id/add_feed_insert_progressbar"
|
app:layout_constraintTop_toBottomOf="@+id/add_feed_insert_progressbar"
|
||||||
tools:visibility="visible"
|
tools:itemCount="2"
|
||||||
tools:listitem="@layout/feed_insertion_result"
|
tools:listitem="@layout/feed_insertion_result"
|
||||||
tools:itemCount="2"/>
|
tools:visibility="visible" />
|
||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
|
||||||
@ -164,4 +163,3 @@
|
|||||||
|
|
||||||
</androidx.core.widget.NestedScrollView>
|
</androidx.core.widget.NestedScrollView>
|
||||||
|
|
||||||
</layout>
|
|
@ -1,10 +1,10 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<layout xmlns:android="http://schemas.android.com/apk/res/android"
|
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
|
||||||
xmlns:tools="http://schemas.android.com/tools"
|
|
||||||
tools:context=".activities.ManageFeedsFoldersActivity">
|
|
||||||
|
|
||||||
<androidx.coordinatorlayout.widget.CoordinatorLayout
|
<androidx.coordinatorlayout.widget.CoordinatorLayout
|
||||||
|
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
|
tools:context=".activities.ManageFeedsFoldersActivity"
|
||||||
android:id="@+id/manage_feeds_folders_root"
|
android:id="@+id/manage_feeds_folders_root"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent">
|
android:layout_height="match_parent">
|
||||||
@ -38,4 +38,3 @@
|
|||||||
app:layout_behavior="@string/appbar_scrolling_view_behavior" />
|
app:layout_behavior="@string/appbar_scrolling_view_behavior" />
|
||||||
|
|
||||||
</androidx.coordinatorlayout.widget.CoordinatorLayout>
|
</androidx.coordinatorlayout.widget.CoordinatorLayout>
|
||||||
</layout>
|
|
@ -1,12 +1,11 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<layout xmlns:android="http://schemas.android.com/apk/res/android"
|
|
||||||
|
<androidx.core.widget.NestedScrollView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
xmlns:tools="http://schemas.android.com/tools"
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
tools:context="com.readrops.app.activities.NotificationPermissionActivity">
|
|
||||||
|
|
||||||
<androidx.core.widget.NestedScrollView
|
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent">
|
android:layout_height="match_parent"
|
||||||
|
tools:context="com.readrops.app.activities.NotificationPermissionActivity">
|
||||||
|
|
||||||
<androidx.constraintlayout.widget.ConstraintLayout
|
<androidx.constraintlayout.widget.ConstraintLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
@ -84,4 +83,3 @@
|
|||||||
|
|
||||||
</androidx.core.widget.NestedScrollView>
|
</androidx.core.widget.NestedScrollView>
|
||||||
|
|
||||||
</layout>
|
|
||||||
|
@ -1,10 +1,8 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<layout xmlns:android="http://schemas.android.com/apk/res/android"
|
<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
xmlns:tools="http://schemas.android.com/tools"
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
tools:context="com.readrops.app.activities.WebViewActivity">
|
tools:context="com.readrops.app.activities.WebViewActivity"
|
||||||
|
|
||||||
<androidx.coordinatorlayout.widget.CoordinatorLayout
|
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent">
|
android:layout_height="match_parent">
|
||||||
|
|
||||||
@ -56,5 +54,3 @@
|
|||||||
</androidx.swiperefreshlayout.widget.SwipeRefreshLayout>
|
</androidx.swiperefreshlayout.widget.SwipeRefreshLayout>
|
||||||
|
|
||||||
</androidx.coordinatorlayout.widget.CoordinatorLayout>
|
</androidx.coordinatorlayout.widget.CoordinatorLayout>
|
||||||
|
|
||||||
</layout>
|
|
||||||
|
@ -1,8 +1,7 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<layout xmlns:android="http://schemas.android.com/apk/res/android"
|
|
||||||
xmlns:tools="http://schemas.android.com/tools">
|
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:gravity="center_horizontal|center_vertical"
|
android:gravity="center_horizontal|center_vertical"
|
||||||
@ -24,4 +23,3 @@
|
|||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
</layout>
|
|
@ -1,9 +1,8 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<layout xmlns:android="http://schemas.android.com/apk/res/android"
|
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
|
||||||
xmlns:tools="http://schemas.android.com/tools">
|
|
||||||
|
|
||||||
<androidx.constraintlayout.widget.ConstraintLayout
|
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:paddingBottom="16dp">
|
android:paddingBottom="16dp">
|
||||||
@ -92,4 +91,3 @@
|
|||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
|
||||||
</layout>
|
|
@ -1,8 +1,7 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<layout xmlns:android="http://schemas.android.com/apk/res/android"
|
|
||||||
xmlns:tools="http://schemas.android.com/tools">
|
|
||||||
|
|
||||||
<androidx.cardview.widget.CardView
|
<androidx.cardview.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginStart="6dp"
|
android:layout_marginStart="6dp"
|
||||||
@ -52,4 +51,3 @@
|
|||||||
|
|
||||||
</androidx.cardview.widget.CardView>
|
</androidx.cardview.widget.CardView>
|
||||||
|
|
||||||
</layout>
|
|
@ -1,9 +1,8 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<layout xmlns:android="http://schemas.android.com/apk/res/android"
|
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
|
||||||
xmlns:tools="http://schemas.android.com/tools">
|
|
||||||
|
|
||||||
<androidx.constraintlayout.widget.ConstraintLayout
|
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:paddingBottom="16dp">
|
android:paddingBottom="16dp">
|
||||||
@ -67,4 +66,3 @@
|
|||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
|
||||||
</layout>
|
|
@ -1,13 +1,12 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<layout xmlns:android="http://schemas.android.com/apk/res/android"
|
|
||||||
|
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
xmlns:tools="http://schemas.android.com/tools"
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
tools:context=".fragments.FeedsFragment">
|
|
||||||
|
|
||||||
<androidx.constraintlayout.widget.ConstraintLayout
|
|
||||||
android:id="@+id/feeds_root"
|
android:id="@+id/feeds_root"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent">
|
android:layout_height="match_parent"
|
||||||
|
tools:context=".fragments.FeedsFragment">
|
||||||
|
|
||||||
<androidx.recyclerview.widget.RecyclerView
|
<androidx.recyclerview.widget.RecyclerView
|
||||||
android:id="@+id/feeds_recyclerview"
|
android:id="@+id/feeds_recyclerview"
|
||||||
@ -30,4 +29,3 @@
|
|||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
|
||||||
</layout>
|
|
@ -1,13 +1,12 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<layout xmlns:android="http://schemas.android.com/apk/res/android"
|
|
||||||
|
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||||
xmlns:tools="http://schemas.android.com/tools"
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
tools:context=".fragments.FoldersFragment">
|
|
||||||
|
|
||||||
<androidx.constraintlayout.widget.ConstraintLayout
|
|
||||||
android:id="@+id/folders_root"
|
android:id="@+id/folders_root"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent">
|
android:layout_height="match_parent"
|
||||||
|
tools:context=".fragments.FoldersFragment">
|
||||||
|
|
||||||
<androidx.recyclerview.widget.RecyclerView
|
<androidx.recyclerview.widget.RecyclerView
|
||||||
android:id="@+id/folders_list"
|
android:id="@+id/folders_list"
|
||||||
@ -30,4 +29,3 @@
|
|||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
|
||||||
</layout>
|
|
@ -1,8 +1,7 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<layout xmlns:android="http://schemas.android.com/apk/res/android"
|
|
||||||
xmlns:tools="http://schemas.android.com/tools">
|
|
||||||
|
|
||||||
<RelativeLayout
|
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:background="?android:attr/selectableItemBackground"
|
android:background="?android:attr/selectableItemBackground"
|
||||||
@ -150,4 +149,3 @@
|
|||||||
|
|
||||||
</RelativeLayout>
|
</RelativeLayout>
|
||||||
|
|
||||||
</layout>
|
|
@ -1,8 +1,7 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<layout xmlns:android="http://schemas.android.com/apk/res/android"
|
|
||||||
xmlns:tools="http://schemas.android.com/tools">
|
|
||||||
|
|
||||||
<androidx.cardview.widget.CardView
|
<androidx.cardview.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginStart="6dp"
|
android:layout_marginStart="6dp"
|
||||||
@ -50,4 +49,3 @@
|
|||||||
|
|
||||||
</androidx.cardview.widget.CardView>
|
</androidx.cardview.widget.CardView>
|
||||||
|
|
||||||
</layout>
|
|
Loading…
x
Reference in New Issue
Block a user