diff options
| author | Andrew Dolgov <fox@fakecake.org> | 2025-05-18 12:36:14 +0300 |
|---|---|---|
| committer | Andrew Dolgov <fox@fakecake.org> | 2025-05-18 12:36:14 +0300 |
| commit | 83f260efe0d2a1f0e2e81c53f89a029d91e70b25 (patch) | |
| tree | 0f29a925d2f5dc4d52c9444fd7c26f144a0c5f24 /org.fox.ttrss/src/main | |
| parent | c73d0c33fa1b51144891b2e19950d5ca5df40168 (diff) | |
disable shared transitions for now
Diffstat (limited to 'org.fox.ttrss/src/main')
5 files changed, 47 insertions, 45 deletions
diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/GalleryActivity.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/GalleryActivity.java index b0ada038..fb87bc27 100755 --- a/org.fox.ttrss/src/main/java/org/fox/ttrss/GalleryActivity.java +++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/GalleryActivity.java @@ -95,7 +95,7 @@ public class GalleryActivity extends CommonActivity { @Override public void onCreate(Bundle savedInstanceState) { - ActivityCompat.postponeEnterTransition(this); + // ActivityCompat.postponeEnterTransition(this); // we use that before parent onCreate so let's init locally m_prefs = PreferenceManager @@ -117,29 +117,53 @@ public class GalleryActivity extends CommonActivity { getSupportActionBar().setDisplayHomeAsUpEnabled(true); getSupportActionBar().hide(); + setTitle(m_title); + + m_adapter = new ArticleImagesPagerAdapter(this, new GalleryEntryDiffItemCallback()); + + m_pager = findViewById(R.id.gallery_pager); + m_pager.setAdapter(m_adapter); + + m_checkProgress = findViewById(R.id.gallery_check_progress); + if (savedInstanceState == null) { m_title = getIntent().getStringExtra("title"); m_content = getIntent().getStringExtra("content"); + GalleryModel model = new ViewModelProvider(this).get(GalleryModel.class); + // this should be dealt with first so that transition completes properly String firstSrc = getIntent().getStringExtra("firstSrc"); - GalleryModel model = new ViewModelProvider(this).get(GalleryModel.class); + /* but what about videos? if (firstSrc != null) { + List<GalleryEntry> initialItems = new ArrayList<GalleryEntry>(); + + initialItems.add(0, new GalleryEntry(firstSrc, GalleryEntry.GalleryEntryType.TYPE_IMAGE, null)); + + m_adapter.submitList(initialItems); + + model.update(initialItems); + } */ + model.collectItems(m_content, firstSrc); model.getItemsToCheck().observe(this, itemsToCheck -> { Log.d(TAG, "observed items to check=" + itemsToCheck); m_checkProgress.setMax(itemsToCheck); - m_checkProgress.setVisibility(itemsToCheck > 0 ? View.VISIBLE : View.GONE); m_checkProgress.setProgress(0); }); + model.getIsChecking().observe(this, isChecking -> { + Log.d(TAG, "observed isChecking=" + isChecking); + + m_checkProgress.setVisibility(isChecking ? View.VISIBLE : View.GONE); + }); + model.getCheckProgress().observe(this, progress -> { Log.d(TAG, "observed item check progress=" + progress); m_checkProgress.setProgress(progress); - m_checkProgress.setVisibility(progress < m_checkProgress.getMax() ? View.VISIBLE : View.GONE); }); model.getItems().observe(this, galleryEntries -> { @@ -187,41 +211,6 @@ public class GalleryActivity extends CommonActivity { e.printStackTrace(); } }); - - setTitle(m_title); - - m_adapter = new ArticleImagesPagerAdapter(this, new GalleryEntryDiffItemCallback()); - - m_pager = findViewById(R.id.gallery_pager); - m_pager.setAdapter(m_adapter); - - m_checkProgress = findViewById(R.id.gallery_check_progress); - - /* Log.d(TAG, "items to check:" + uncheckedItems.size()); - - MediaCheckTask mct = new MediaCheckTask() { - @Override - protected void onProgressUpdate(MediaProgressResult... result) { - //m_items.add(result[0].item); - m_adapter.notifyDataSetChanged(); - - if (result[0].position < result[0].count) { - m_checkProgress.setVisibility(View.VISIBLE); - m_checkProgress.setMax(result[0].count); - m_checkProgress.setProgress(result[0].position); - } else { - m_checkProgress.setVisibility(View.GONE); - } - - } - - @Override - protected void onPostExecute(List<GalleryEntry> result) { - m_items.addAll(result); - } - }; - - mct.execute(uncheckedItems); */ } @Override diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/GalleryImageFragment.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/GalleryImageFragment.java index b249b889..db141427 100755 --- a/org.fox.ttrss/src/main/java/org/fox/ttrss/GalleryImageFragment.java +++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/GalleryImageFragment.java @@ -71,7 +71,7 @@ public class GalleryImageFragment extends GalleryBaseFragment { progressBar.setVisibility(View.GONE); errorMessage.setVisibility(View.VISIBLE); - ActivityCompat.startPostponedEnterTransition(m_activity); + // ActivityCompat.startPostponedEnterTransition(m_activity); return false; } @@ -81,7 +81,7 @@ public class GalleryImageFragment extends GalleryBaseFragment { progressBar.setVisibility(View.GONE); errorMessage.setVisibility(View.GONE); - ActivityCompat.startPostponedEnterTransition(m_activity); + // ActivityCompat.startPostponedEnterTransition(m_activity); return false; } diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/GalleryModel.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/GalleryModel.java index 2f0451fb..750f85cd 100644 --- a/org.fox.ttrss/src/main/java/org/fox/ttrss/GalleryModel.java +++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/GalleryModel.java @@ -32,6 +32,7 @@ public class GalleryModel extends AndroidViewModel { private MutableLiveData<List<GalleryEntry>> m_items = new MutableLiveData<>(new ArrayList<>()); private MutableLiveData<Integer> m_checkProgress = new MutableLiveData<>(Integer.valueOf(0)); private MutableLiveData<Integer> m_itemsToCheck = new MutableLiveData<>(Integer.valueOf(0)); + private MutableLiveData<Boolean> m_isChecking = new MutableLiveData<>(Boolean.valueOf(false)); public GalleryModel(@NonNull Application application) { super(application); @@ -65,6 +66,14 @@ public class GalleryModel extends AndroidViewModel { return false; } + public void update(List<GalleryEntry> items) { + m_items.postValue(items); + } + + public LiveData<Boolean> getIsChecking() { + return m_isChecking; + } + public void collectItems(String articleText, String srcFirst) { m_executor.execute(() -> { @@ -81,6 +90,8 @@ public class GalleryModel extends AndroidViewModel { int currentItem = 0; boolean firstFound = false; + m_isChecking.postValue(true); + for (Element elem : elems) { ++currentItem; @@ -160,6 +171,8 @@ public class GalleryModel extends AndroidViewModel { checkList.add(0, new GalleryEntry(srcFirst, GalleryEntry.GalleryEntryType.TYPE_IMAGE, null)); m_items.postValue(checkList); } + + m_isChecking.postValue(false); }); } } diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/GalleryVideoFragment.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/GalleryVideoFragment.java index 18d08e4f..a171fb5b 100755 --- a/org.fox.ttrss/src/main/java/org/fox/ttrss/GalleryVideoFragment.java +++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/GalleryVideoFragment.java @@ -56,7 +56,7 @@ public class GalleryVideoFragment extends GalleryBaseFragment { registerForContextMenu(imgView); - ActivityCompat.startPostponedEnterTransition(m_activity); + // ActivityCompat.startPostponedEnterTransition(m_activity); view.findViewById(R.id.flavor_image_progress).setVisibility(View.VISIBLE); diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/HeadlinesFragment.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/HeadlinesFragment.java index 6c3829cc..67e9a75d 100755 --- a/org.fox.ttrss/src/main/java/org/fox/ttrss/HeadlinesFragment.java +++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/HeadlinesFragment.java @@ -1409,14 +1409,14 @@ public class HeadlinesFragment extends androidx.fragment.app.Fragment { intent.putExtra("content", tempContent); - ActivityOptionsCompat options = + /* ActivityOptionsCompat options = ActivityOptionsCompat.makeSceneTransitionAnimation(m_activity, transitionView != null ? transitionView : holder.flavorImageView, "gallery:" + (article.flavorStreamUri != null ? article.flavorStreamUri : article.flavorImageUri)); - ActivityCompat.startActivity(m_activity, intent, options.toBundle()); + ActivityCompat.startActivity(m_activity, intent, options.toBundle()); */ - // startActivity(intent); + startActivity(intent); } } |