From db4d1f5c8fd9fd9d5fc723f40a23ebefc3776cdb Mon Sep 17 00:00:00 2001 From: misaochan Date: Tue, 5 Jul 2016 19:03:50 +1200 Subject: [PATCH 01/14] Add comments --- .../fr/free/nrw/commons/media/MediaDetailPagerFragment.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/app/src/main/java/fr/free/nrw/commons/media/MediaDetailPagerFragment.java b/app/src/main/java/fr/free/nrw/commons/media/MediaDetailPagerFragment.java index 58e08fc6c..2b74d628b 100644 --- a/app/src/main/java/fr/free/nrw/commons/media/MediaDetailPagerFragment.java +++ b/app/src/main/java/fr/free/nrw/commons/media/MediaDetailPagerFragment.java @@ -54,6 +54,8 @@ public class MediaDetailPagerFragment extends Fragment implements ViewPager.OnPa public void registerDataSetObserver(DataSetObserver observer); public void unregisterDataSetObserver(DataSetObserver observer); } + + //FragmentStatePagerAdapter allows user to swipe across collection of images (no. of images undetermined) private class MediaDetailAdapter extends FragmentStatePagerAdapter { public MediaDetailAdapter(FragmentManager fm) { From f9037e13608073356e743b58077e711fd5b1dce8 Mon Sep 17 00:00:00 2001 From: misaochan Date: Tue, 5 Jul 2016 19:04:08 +1200 Subject: [PATCH 02/14] Put constructor at top of page --- .../commons/media/MediaDetailPagerFragment.java | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/fr/free/nrw/commons/media/MediaDetailPagerFragment.java b/app/src/main/java/fr/free/nrw/commons/media/MediaDetailPagerFragment.java index 2b74d628b..98395ca88 100644 --- a/app/src/main/java/fr/free/nrw/commons/media/MediaDetailPagerFragment.java +++ b/app/src/main/java/fr/free/nrw/commons/media/MediaDetailPagerFragment.java @@ -35,6 +35,15 @@ public class MediaDetailPagerFragment extends Fragment implements ViewPager.OnPa private ViewPager pager; private Boolean editable; private CommonsApplication app; + + public MediaDetailPagerFragment() { + this(false); + } + + @SuppressLint("ValidFragment") + public MediaDetailPagerFragment(Boolean editable) { + this.editable = editable; + } public void onPageScrolled(int i, float v, int i2) { getActivity().supportInvalidateOptionsMenu(); @@ -81,14 +90,6 @@ public class MediaDetailPagerFragment extends Fragment implements ViewPager.OnPa } } - public MediaDetailPagerFragment() { - this(false); - } - - @SuppressLint("ValidFragment") - public MediaDetailPagerFragment(Boolean editable) { - this.editable = editable; - } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { From 433f39ae24e85bc1c462f14bd06469868109ff73 Mon Sep 17 00:00:00 2001 From: misaochan Date: Tue, 5 Jul 2016 19:05:06 +1200 Subject: [PATCH 03/14] Classes at top, methods at bottom --- .../media/MediaDetailPagerFragment.java | 25 +++++++++---------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/app/src/main/java/fr/free/nrw/commons/media/MediaDetailPagerFragment.java b/app/src/main/java/fr/free/nrw/commons/media/MediaDetailPagerFragment.java index 98395ca88..17e67a4c4 100644 --- a/app/src/main/java/fr/free/nrw/commons/media/MediaDetailPagerFragment.java +++ b/app/src/main/java/fr/free/nrw/commons/media/MediaDetailPagerFragment.java @@ -35,7 +35,7 @@ public class MediaDetailPagerFragment extends Fragment implements ViewPager.OnPa private ViewPager pager; private Boolean editable; private CommonsApplication app; - + public MediaDetailPagerFragment() { this(false); } @@ -45,17 +45,6 @@ public class MediaDetailPagerFragment extends Fragment implements ViewPager.OnPa this.editable = editable; } - public void onPageScrolled(int i, float v, int i2) { - getActivity().supportInvalidateOptionsMenu(); - } - - public void onPageSelected(int i) { - } - - public void onPageScrollStateChanged(int i) { - - } - public interface MediaDetailProvider { public Media getMediaAtPosition(int i); public int getTotalMediaCount(); @@ -90,7 +79,6 @@ public class MediaDetailPagerFragment extends Fragment implements ViewPager.OnPa } } - @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment_media_detail_pager, container, false); @@ -287,4 +275,15 @@ public class MediaDetailPagerFragment extends Fragment implements ViewPager.OnPa public void showImage(int i) { pager.setCurrentItem(i); } + + public void onPageScrolled(int i, float v, int i2) { + getActivity().supportInvalidateOptionsMenu(); + } + + public void onPageSelected(int i) { + } + + public void onPageScrollStateChanged(int i) { + + } } \ No newline at end of file From b45695fddadc57974fdabf7d370343ab35ad0b72 Mon Sep 17 00:00:00 2001 From: misaochan Date: Tue, 5 Jul 2016 19:11:11 +1200 Subject: [PATCH 04/14] Add comments --- .../fr/free/nrw/commons/media/MediaDetailPagerFragment.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/fr/free/nrw/commons/media/MediaDetailPagerFragment.java b/app/src/main/java/fr/free/nrw/commons/media/MediaDetailPagerFragment.java index 17e67a4c4..a9a2b2066 100644 --- a/app/src/main/java/fr/free/nrw/commons/media/MediaDetailPagerFragment.java +++ b/app/src/main/java/fr/free/nrw/commons/media/MediaDetailPagerFragment.java @@ -178,6 +178,7 @@ public class MediaDetailPagerFragment extends Fragment implements ViewPager.OnPa Uri imageUri = Uri.parse(imageUrl); DownloadManager.Request req = new DownloadManager.Request(imageUri); + //These are not the image title and description fields, they are download descs for notifications req.setDescription(getString(R.string.app_name)); req.setTitle(m.getDisplayTitle()); req.setDestinationInExternalPublicDir(Environment.DIRECTORY_DOWNLOADS, fileName); @@ -275,7 +276,7 @@ public class MediaDetailPagerFragment extends Fragment implements ViewPager.OnPa public void showImage(int i) { pager.setCurrentItem(i); } - + public void onPageScrolled(int i, float v, int i2) { getActivity().supportInvalidateOptionsMenu(); } From acaedc469780b1d75d6a54871870eb8e03e41cf8 Mon Sep 17 00:00:00 2001 From: misaochan Date: Tue, 5 Jul 2016 19:03:50 +1200 Subject: [PATCH 05/14] Add comments --- .../fr/free/nrw/commons/media/MediaDetailPagerFragment.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/app/src/main/java/fr/free/nrw/commons/media/MediaDetailPagerFragment.java b/app/src/main/java/fr/free/nrw/commons/media/MediaDetailPagerFragment.java index 58e08fc6c..2b74d628b 100644 --- a/app/src/main/java/fr/free/nrw/commons/media/MediaDetailPagerFragment.java +++ b/app/src/main/java/fr/free/nrw/commons/media/MediaDetailPagerFragment.java @@ -54,6 +54,8 @@ public class MediaDetailPagerFragment extends Fragment implements ViewPager.OnPa public void registerDataSetObserver(DataSetObserver observer); public void unregisterDataSetObserver(DataSetObserver observer); } + + //FragmentStatePagerAdapter allows user to swipe across collection of images (no. of images undetermined) private class MediaDetailAdapter extends FragmentStatePagerAdapter { public MediaDetailAdapter(FragmentManager fm) { From 9da9dc5202535edfd55e089152e034c900c0a49d Mon Sep 17 00:00:00 2001 From: misaochan Date: Tue, 5 Jul 2016 19:04:08 +1200 Subject: [PATCH 06/14] Put constructor at top of page --- .../commons/media/MediaDetailPagerFragment.java | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/fr/free/nrw/commons/media/MediaDetailPagerFragment.java b/app/src/main/java/fr/free/nrw/commons/media/MediaDetailPagerFragment.java index 2b74d628b..98395ca88 100644 --- a/app/src/main/java/fr/free/nrw/commons/media/MediaDetailPagerFragment.java +++ b/app/src/main/java/fr/free/nrw/commons/media/MediaDetailPagerFragment.java @@ -35,6 +35,15 @@ public class MediaDetailPagerFragment extends Fragment implements ViewPager.OnPa private ViewPager pager; private Boolean editable; private CommonsApplication app; + + public MediaDetailPagerFragment() { + this(false); + } + + @SuppressLint("ValidFragment") + public MediaDetailPagerFragment(Boolean editable) { + this.editable = editable; + } public void onPageScrolled(int i, float v, int i2) { getActivity().supportInvalidateOptionsMenu(); @@ -81,14 +90,6 @@ public class MediaDetailPagerFragment extends Fragment implements ViewPager.OnPa } } - public MediaDetailPagerFragment() { - this(false); - } - - @SuppressLint("ValidFragment") - public MediaDetailPagerFragment(Boolean editable) { - this.editable = editable; - } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { From 2989b4a096f96672b4ab19ae191539bf55aaab44 Mon Sep 17 00:00:00 2001 From: misaochan Date: Tue, 5 Jul 2016 19:05:06 +1200 Subject: [PATCH 07/14] Classes at top, methods at bottom --- .../media/MediaDetailPagerFragment.java | 25 +++++++++---------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/app/src/main/java/fr/free/nrw/commons/media/MediaDetailPagerFragment.java b/app/src/main/java/fr/free/nrw/commons/media/MediaDetailPagerFragment.java index 98395ca88..17e67a4c4 100644 --- a/app/src/main/java/fr/free/nrw/commons/media/MediaDetailPagerFragment.java +++ b/app/src/main/java/fr/free/nrw/commons/media/MediaDetailPagerFragment.java @@ -35,7 +35,7 @@ public class MediaDetailPagerFragment extends Fragment implements ViewPager.OnPa private ViewPager pager; private Boolean editable; private CommonsApplication app; - + public MediaDetailPagerFragment() { this(false); } @@ -45,17 +45,6 @@ public class MediaDetailPagerFragment extends Fragment implements ViewPager.OnPa this.editable = editable; } - public void onPageScrolled(int i, float v, int i2) { - getActivity().supportInvalidateOptionsMenu(); - } - - public void onPageSelected(int i) { - } - - public void onPageScrollStateChanged(int i) { - - } - public interface MediaDetailProvider { public Media getMediaAtPosition(int i); public int getTotalMediaCount(); @@ -90,7 +79,6 @@ public class MediaDetailPagerFragment extends Fragment implements ViewPager.OnPa } } - @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment_media_detail_pager, container, false); @@ -287,4 +275,15 @@ public class MediaDetailPagerFragment extends Fragment implements ViewPager.OnPa public void showImage(int i) { pager.setCurrentItem(i); } + + public void onPageScrolled(int i, float v, int i2) { + getActivity().supportInvalidateOptionsMenu(); + } + + public void onPageSelected(int i) { + } + + public void onPageScrollStateChanged(int i) { + + } } \ No newline at end of file From f845a9af701e5105968b53fd6a5822bd01cb7645 Mon Sep 17 00:00:00 2001 From: misaochan Date: Tue, 5 Jul 2016 19:11:11 +1200 Subject: [PATCH 08/14] Add comments --- .../fr/free/nrw/commons/media/MediaDetailPagerFragment.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/fr/free/nrw/commons/media/MediaDetailPagerFragment.java b/app/src/main/java/fr/free/nrw/commons/media/MediaDetailPagerFragment.java index 17e67a4c4..a9a2b2066 100644 --- a/app/src/main/java/fr/free/nrw/commons/media/MediaDetailPagerFragment.java +++ b/app/src/main/java/fr/free/nrw/commons/media/MediaDetailPagerFragment.java @@ -178,6 +178,7 @@ public class MediaDetailPagerFragment extends Fragment implements ViewPager.OnPa Uri imageUri = Uri.parse(imageUrl); DownloadManager.Request req = new DownloadManager.Request(imageUri); + //These are not the image title and description fields, they are download descs for notifications req.setDescription(getString(R.string.app_name)); req.setTitle(m.getDisplayTitle()); req.setDestinationInExternalPublicDir(Environment.DIRECTORY_DOWNLOADS, fileName); @@ -275,7 +276,7 @@ public class MediaDetailPagerFragment extends Fragment implements ViewPager.OnPa public void showImage(int i) { pager.setCurrentItem(i); } - + public void onPageScrolled(int i, float v, int i2) { getActivity().supportInvalidateOptionsMenu(); } From 87df02243195b221a43702fd8730a086e0d75591 Mon Sep 17 00:00:00 2001 From: misaochan Date: Thu, 7 Jul 2016 18:04:56 +1200 Subject: [PATCH 09/14] Added notes for debugging --- .../fr/free/nrw/commons/category/CategoryContentProvider.java | 2 +- .../nrw/commons/contributions/ContributionsContentProvider.java | 2 +- .../nrw/commons/modifications/ModificationsContentProvider.java | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/fr/free/nrw/commons/category/CategoryContentProvider.java b/app/src/main/java/fr/free/nrw/commons/category/CategoryContentProvider.java index ed7e0e743..a3569e898 100644 --- a/app/src/main/java/fr/free/nrw/commons/category/CategoryContentProvider.java +++ b/app/src/main/java/fr/free/nrw/commons/category/CategoryContentProvider.java @@ -102,7 +102,7 @@ public class CategoryContentProvider extends ContentProvider { @Override public int bulkInsert(Uri uri, ContentValues[] values) { - Log.d("Commons", "Hello, bulk insert!"); + Log.d("Commons", "Hello, bulk insert! (CategoryContentProvider)"); int uriType = uriMatcher.match(uri); SQLiteDatabase sqlDB = dbOpenHelper.getWritableDatabase(); sqlDB.beginTransaction(); diff --git a/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsContentProvider.java b/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsContentProvider.java index 633279805..a6dcd5757 100644 --- a/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsContentProvider.java +++ b/app/src/main/java/fr/free/nrw/commons/contributions/ContributionsContentProvider.java @@ -116,7 +116,7 @@ public class ContributionsContentProvider extends ContentProvider{ @Override public int bulkInsert(Uri uri, ContentValues[] values) { - Log.d("Commons", "Hello, bulk insert!"); + Log.d("Commons", "Hello, bulk insert! (ContributionsContentProvider)"); int uriType = uriMatcher.match(uri); SQLiteDatabase sqlDB = dbOpenHelper.getWritableDatabase(); sqlDB.beginTransaction(); diff --git a/app/src/main/java/fr/free/nrw/commons/modifications/ModificationsContentProvider.java b/app/src/main/java/fr/free/nrw/commons/modifications/ModificationsContentProvider.java index d3d11a339..281a0c34e 100644 --- a/app/src/main/java/fr/free/nrw/commons/modifications/ModificationsContentProvider.java +++ b/app/src/main/java/fr/free/nrw/commons/modifications/ModificationsContentProvider.java @@ -100,7 +100,7 @@ public class ModificationsContentProvider extends ContentProvider{ @Override public int bulkInsert(Uri uri, ContentValues[] values) { - Log.d("Commons", "Hello, bulk insert!"); + Log.d("Commons", "Hello, bulk insert! (ModificationsContentProvider)"); int uriType = uriMatcher.match(uri); SQLiteDatabase sqlDB = dbOpenHelper.getWritableDatabase(); sqlDB.beginTransaction(); From 185411e879403585f767b346c2955e59ac3775ae Mon Sep 17 00:00:00 2001 From: misaochan Date: Thu, 7 Jul 2016 18:24:24 +1200 Subject: [PATCH 10/14] Add notes for debugging --- .../fr/free/nrw/commons/media/MediaDetailFragment.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/fr/free/nrw/commons/media/MediaDetailFragment.java b/app/src/main/java/fr/free/nrw/commons/media/MediaDetailFragment.java index 96dde54bb..acaa51474 100644 --- a/app/src/main/java/fr/free/nrw/commons/media/MediaDetailFragment.java +++ b/app/src/main/java/fr/free/nrw/commons/media/MediaDetailFragment.java @@ -185,17 +185,17 @@ public class MediaDetailFragment extends Fragment { private void displayMediaDetails(final Media media) { String actualUrl = (media.getLocalUri() != null && !TextUtils.isEmpty(media.getLocalUri().toString())) ? media.getLocalUri().toString() : media.getThumbnailUrl(640); if(actualUrl.startsWith("http")) { + Log.d("Volley", "Actual URL starts with http and is: " + actualUrl); + ImageLoader loader = ((CommonsApplication)getActivity().getApplicationContext()).getImageLoader(); MediaWikiImageView mwImage = (MediaWikiImageView)image; mwImage.setLoadingView(loadingProgress); //FIXME: Set this as an attribute mwImage.setMedia(media, loader); - Log.d("Volley", actualUrl); // FIXME: For transparent images - - // Load image metadata: desc, license, categories // FIXME: keep the spinner going while we load data // FIXME: cache this data + // Load image metadata: desc, license, categories detailFetchTask = new AsyncTask() { private MediaDataExtractor extractor; @@ -243,6 +243,7 @@ public class MediaDetailFragment extends Fragment { }; Utils.executeAsyncTask(detailFetchTask); } else { + Log.d("Volley", "Actual URL does not start with http and is: " + actualUrl); com.nostra13.universalimageloader.core.ImageLoader.getInstance().displayImage(actualUrl, image, displayOptions, new ImageLoadingListener() { public void onLoadingStarted(String s, View view) { loadingProgress.setVisibility(View.VISIBLE); From 29e5ba39344e608461fe65f874c2af21cf7c2eba Mon Sep 17 00:00:00 2001 From: misaochan Date: Thu, 7 Jul 2016 18:28:33 +1200 Subject: [PATCH 11/14] Add fixme --- .../main/java/fr/free/nrw/commons/media/MediaDetailFragment.java | 1 + 1 file changed, 1 insertion(+) diff --git a/app/src/main/java/fr/free/nrw/commons/media/MediaDetailFragment.java b/app/src/main/java/fr/free/nrw/commons/media/MediaDetailFragment.java index acaa51474..5acfea4ff 100644 --- a/app/src/main/java/fr/free/nrw/commons/media/MediaDetailFragment.java +++ b/app/src/main/java/fr/free/nrw/commons/media/MediaDetailFragment.java @@ -243,6 +243,7 @@ public class MediaDetailFragment extends Fragment { }; Utils.executeAsyncTask(detailFetchTask); } else { + //FIXME: This branch does not display desc, categories, and license Log.d("Volley", "Actual URL does not start with http and is: " + actualUrl); com.nostra13.universalimageloader.core.ImageLoader.getInstance().displayImage(actualUrl, image, displayOptions, new ImageLoadingListener() { public void onLoadingStarted(String s, View view) { From 916141287f2f3575978f058c4e536b389ceb7dee Mon Sep 17 00:00:00 2001 From: misaochan Date: Thu, 7 Jul 2016 18:31:32 +1200 Subject: [PATCH 12/14] Displays desc, categories and license, but desc and cats are wrong --- .../nrw/commons/media/MediaDetailFragment.java | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/app/src/main/java/fr/free/nrw/commons/media/MediaDetailFragment.java b/app/src/main/java/fr/free/nrw/commons/media/MediaDetailFragment.java index 5acfea4ff..9e63d1b30 100644 --- a/app/src/main/java/fr/free/nrw/commons/media/MediaDetailFragment.java +++ b/app/src/main/java/fr/free/nrw/commons/media/MediaDetailFragment.java @@ -262,6 +262,21 @@ public class MediaDetailFragment extends Fragment { if(bitmap.hasAlpha()) { image.setBackgroundResource(android.R.color.white); } + + // Fill some fields + desc.setText(prettyDescription(media)); + license.setText(prettyLicense(media)); + + categoryNames.removeAll(categoryNames); + categoryNames.addAll(media.getCategories()); + + categoriesLoaded = true; + categoriesPresent = (categoryNames.size() > 0); + if (!categoriesPresent) { + // Stick in a filler element. + categoryNames.add(getString(R.string.detail_panel_cats_none)); + } + rebuildCatList(); } public void onLoadingCancelled(String s, View view) { From 84d93392b00c23f485496074b5d71e9fa245e639 Mon Sep 17 00:00:00 2001 From: misaochan Date: Thu, 7 Jul 2016 18:35:04 +1200 Subject: [PATCH 13/14] Add comments --- .../java/fr/free/nrw/commons/media/MediaDetailFragment.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/fr/free/nrw/commons/media/MediaDetailFragment.java b/app/src/main/java/fr/free/nrw/commons/media/MediaDetailFragment.java index 9e63d1b30..f86922b11 100644 --- a/app/src/main/java/fr/free/nrw/commons/media/MediaDetailFragment.java +++ b/app/src/main/java/fr/free/nrw/commons/media/MediaDetailFragment.java @@ -263,7 +263,8 @@ public class MediaDetailFragment extends Fragment { image.setBackgroundResource(android.R.color.white); } - // Fill some fields + // Set text of desc, license, and categories + // FIXME: This branch displays the wrong desc and categories desc.setText(prettyDescription(media)); license.setText(prettyLicense(media)); From 58ffe710c0aff08420e6a995eefb3f7ba47b286a Mon Sep 17 00:00:00 2001 From: misaochan Date: Thu, 7 Jul 2016 18:38:14 +1200 Subject: [PATCH 14/14] Replace runtime exception --- .../java/fr/free/nrw/commons/media/MediaDetailFragment.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/fr/free/nrw/commons/media/MediaDetailFragment.java b/app/src/main/java/fr/free/nrw/commons/media/MediaDetailFragment.java index f86922b11..5edb71e47 100644 --- a/app/src/main/java/fr/free/nrw/commons/media/MediaDetailFragment.java +++ b/app/src/main/java/fr/free/nrw/commons/media/MediaDetailFragment.java @@ -264,7 +264,7 @@ public class MediaDetailFragment extends Fragment { } // Set text of desc, license, and categories - // FIXME: This branch displays the wrong desc and categories + // FIXME: This reveals the desc, license, and categories fields, but displays the wrong desc and categories desc.setText(prettyDescription(media)); license.setText(prettyLicense(media)); @@ -281,7 +281,7 @@ public class MediaDetailFragment extends Fragment { } public void onLoadingCancelled(String s, View view) { - throw new RuntimeException("Image loading cancelled. But why?"); + Log.e("Volley", "Image loading cancelled. But why?"); } }); }