Commit 3128c623 authored by sndtcsi's avatar sndtcsi

Merge branch 'nss' of https://github.com/sshivam95/InstiApp

# Conflicts:
#	.idea/caches/build_file_checksums.ser
#	app/src/main/java/app/insti/fragment/ComplaintFragment.java
parents 351d540d 27a15f55
......@@ -24,7 +24,7 @@
</value>
</option>
</component>
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_7" default="true" project-jdk-name="1.8" project-jdk-type="JavaSDK">
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="true" project-jdk-name="1.8" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/build/classes" />
</component>
<component name="ProjectType">
......
......@@ -5,6 +5,7 @@
<module fileurl="file://$PROJECT_DIR$/IITB-App.iml" filepath="$PROJECT_DIR$/IITB-App.iml" />
<module fileurl="file://$PROJECT_DIR$/IITBApp.iml" filepath="$PROJECT_DIR$/IITBApp.iml" />
<module fileurl="file://$PROJECT_DIR$/InstiApp.iml" filepath="$PROJECT_DIR$/InstiApp.iml" />
<module fileurl="file://$PROJECT_DIR$/InstiApp2.iml" filepath="$PROJECT_DIR$/InstiApp2.iml" />
<module fileurl="file://$PROJECT_DIR$/app/app.iml" filepath="$PROJECT_DIR$/app/app.iml" />
</modules>
</component>
......
......@@ -2,11 +2,7 @@ package app.insti.adapter;
import android.content.Context;
import android.support.annotation.NonNull;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.PagerAdapter;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
......@@ -19,8 +15,6 @@ import java.util.List;
import app.insti.R;
import app.insti.api.model.Venter;
import app.insti.fragment.AddImageFragment;
import app.insti.fragment.ImageFragment;
/**
* Created by Shivam Sharma on 25-09-2018.
......@@ -30,26 +24,9 @@ public class ImageViewPagerAdapter extends PagerAdapter {
private static final String TAG = ImageViewPagerAdapter.class.getSimpleName();
private List<String> images = new ArrayList<>();
Venter.Complaint detailedComplaint; //maybe not needed
public Context context;
public LayoutInflater inflater;
/*public ImageViewPagerAdapter(FragmentManager fragmentManager, List<String> images)
{
super(fragmentManager);
this.images = images;
}
public ImageViewPagerAdapter(FragmentManager fragmentManager, Venter.Complaint detailedComplaint)
{
super(fragmentManager);
this.detailedComplaint = detailedComplaint;
for (String image: detailedComplaint.getImages()){
images.add(image);
}
}*/
public ImageViewPagerAdapter(Context context, List<String> images)
{
this.context = context;
......@@ -60,7 +37,6 @@ public class ImageViewPagerAdapter extends PagerAdapter {
public ImageViewPagerAdapter(Context context, Venter.Complaint detailedComplaint)
{
this.context = context;
this.detailedComplaint = detailedComplaint;
inflater= (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
for (String image: detailedComplaint.getImages()){
......@@ -70,8 +46,10 @@ public class ImageViewPagerAdapter extends PagerAdapter {
@Override
public int getCount() {
return images.size();
if (images.size() == 0)
return 1;
else
return images.size();
}
@Override
......@@ -88,36 +66,15 @@ public class ImageViewPagerAdapter extends PagerAdapter {
public Object instantiateItem(ViewGroup view, int position)
{
View imageLayout = inflater.inflate(R.layout.slidingimages_layout, view, false);
assert imageLayout != null;
final ImageView imageView = (ImageView) imageLayout.findViewById(R.id.slidingImageView);
final ImageView imageView = imageLayout.findViewById(R.id.slidingImageView);
if (!(images.get(position).isEmpty()))
//imageView.setImageResource(Integer.parseInt(images.get(position)));
if (images.size() != 0)
Picasso.get().load(images.get(position)).into(imageView);
else
Picasso.get().load(images.get(position)).placeholder(context.getDrawable(R.drawable.ic_add_a_photo_black_24dp)).into(imageView);
Picasso.get().load(R.drawable.baseline_photo_size_select_actual_black_48).resize(500,500).into(imageView);
view.addView(imageLayout, 0);
return imageLayout;
}
/*@Override
public Fragment getItem(int position) {
Log.i(TAG, "images = " + images.size());
Log.i(TAG, "size = " + getCount());
Log.i(TAG, "pos = " + position);
if (images.size() == 0){
Log.i(TAG,"calling 1");
return new AddImageFragment();
}else {
Log.i(TAG,"calling 2");
return ImageFragment.newInstance(images.get(position),position);
}
}*/
}
\ No newline at end of file
package app.insti.fragment;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import app.insti.R;
/**
* Created by Shivam Sharma on 25-09-2018.
*/
public class AddImageFragment extends BaseFragment {
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_add_image, container, false);
return view;
}
}
......@@ -3,6 +3,7 @@ package app.insti.fragment;
import android.content.res.ColorStateList;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.view.ViewPager;
import android.support.v4.widget.NestedScrollView;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
......@@ -30,11 +31,13 @@ import com.squareup.picasso.Picasso;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
import app.insti.R;
import app.insti.Utils;
import app.insti.activity.MainActivity;
import app.insti.adapter.CommentsAdapter;
import app.insti.adapter.ImageViewPagerAdapter;
import app.insti.adapter.UpVotesAdapter;
import app.insti.api.RetrofitInterface;
import app.insti.api.model.User;
......@@ -43,6 +46,7 @@ import app.insti.api.request.CommentCreateRequest;
import app.insti.utils.DateTimeUtil;
import de.hdodenhof.circleimageview.CircleImageView;
import me.relex.circleindicator.CircleIndicator;
import retrofit2.Call;
import retrofit2.Callback;
import retrofit2.Response;
......@@ -66,6 +70,7 @@ public class ComplaintDetailsFragment extends Fragment {
private RecyclerView recyclerViewComments;
private RecyclerView recyclerViewUpVotes;
private Button buttonVoteUp;
private View mView;
private static String sId, cId, uId, uProfileUrl;
private CommentsAdapter commentListAdapter;
......@@ -75,6 +80,7 @@ public class ComplaintDetailsFragment extends Fragment {
private LinearLayout linearLayoutTags;
private ScrollView layoutUpVotes;
private NestedScrollView nestedScrollView;
private CircleIndicator circleIndicator;
public static ComplaintDetailsFragment getInstance(String sessionid, String complaintid, String userid, String userProfileUrl) {
sId = sessionid;
......@@ -133,6 +139,8 @@ public class ComplaintDetailsFragment extends Fragment {
}
});
mView = view;
return view;
}
......@@ -154,6 +162,12 @@ public class ComplaintDetailsFragment extends Fragment {
imageButtonSend = view.findViewById(R.id.send_comment);
circleImageViewCommentUserImage = view.findViewById(R.id.comment_user_image);
buttonVoteUp = view.findViewById(R.id.buttonVoteUp);
circleIndicator = view.findViewById(R.id.indicator);
LinearLayout imageViewHolder = view.findViewById(R.id.image_holder_view);
LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams
(LinearLayout.LayoutParams.MATCH_PARENT,
getResources().getDisplayMetrics().heightPixels / 2);
imageViewHolder.setLayoutParams(layoutParams);
}
public void setDetailedComplaint(Venter.Complaint detailedComplaint) {
......@@ -189,6 +203,8 @@ public class ComplaintDetailsFragment extends Fragment {
Picasso.get().load(uProfileUrl).placeholder(R.drawable.user_placeholder).into(circleImageViewCommentUserImage);
addVotesToView(detailedComplaint);
addCommentsToView(detailedComplaint);
initViewPagerForImages(detailedComplaint);
} catch (Exception e) {
e.printStackTrace();
}
......@@ -267,7 +283,7 @@ public class ComplaintDetailsFragment extends Fragment {
@Override
public void onFailure(Call<Venter.Complaint> call, Throwable t) {
Log.i(TAG, "failure in up vote: " + t.toString());
}
}
});
} else if (detailedComplaint.getVoteCount() ==1){
retrofitInterface.upVote("sessionid=" + sId, cId, 0).enqueue(new Callback<Venter.Complaint>() {
......@@ -330,6 +346,25 @@ public class ComplaintDetailsFragment extends Fragment {
}
}
private void initViewPagerForImages(Venter.Complaint detailedComplaint) {
ViewPager viewPager = mView.findViewById(R.id.complaint_image_view_pager);
if (viewPager != null) {
try {
ImageViewPagerAdapter imageFragmentPagerAdapter = new ImageViewPagerAdapter(getActivity(), detailedComplaint);
viewPager.setAdapter(imageFragmentPagerAdapter);
circleIndicator.setViewPager(viewPager);
imageFragmentPagerAdapter.registerDataSetObserver(circleIndicator.getDataSetObserver());
Objects.requireNonNull(viewPager.getAdapter()).notifyDataSetChanged();
synchronized (viewPager) {
viewPager.notifyAll();
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
@Override
public void onResume() {
super.onResume();
......
......@@ -5,7 +5,6 @@ import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.design.widget.AppBarLayout;
import android.support.design.widget.CollapsingToolbarLayout;
import android.support.design.widget.TabLayout;
import android.support.v4.app.Fragment;
import android.support.v4.view.ViewPager;
......@@ -14,18 +13,15 @@ import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.LinearLayout;
import java.util.Objects;
import app.insti.R;
import app.insti.Utils;
import app.insti.adapter.ComplaintDetailsPagerAdapter;
import app.insti.adapter.ImageViewPagerAdapter;
import app.insti.api.RetrofitInterface;
import app.insti.api.model.User;
import app.insti.api.model.Venter;
import me.relex.circleindicator.CircleIndicator;
import retrofit2.Call;
import retrofit2.Callback;
import retrofit2.Response;
......@@ -37,21 +33,13 @@ public class ComplaintFragment extends Fragment {
private ViewPager viewPager;
private View mview;
private String complaintId, sessionID, userId, userProfileUrl;
private CircleIndicator circleIndicator;
@Override
public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_complaint, container, false);
LinearLayout imageViewHolder = view.findViewById(R.id.image_holder_view);
CollapsingToolbarLayout.LayoutParams layoutParams = new CollapsingToolbarLayout.LayoutParams
(CollapsingToolbarLayout.LayoutParams.MATCH_PARENT,
getResources().getDisplayMetrics().heightPixels / 2);
imageViewHolder.setLayoutParams(layoutParams);
slidingTabLayout = view.findViewById(R.id.sliding_tab_layout);
circleIndicator = view.findViewById(R.id.indicator);
this.mview = view;
return view;
}
......@@ -87,8 +75,9 @@ public class ComplaintFragment extends Fragment {
}
}
}
initViewPagerForImages(complaint);
initTabViews(complaint);
//Make progress circle gone After loading
getActivity().findViewById(R.id.loadingPanel).setVisibility(View.GONE);
}
}
......@@ -101,25 +90,6 @@ public class ComplaintFragment extends Fragment {
});
}
private void initViewPagerForImages(Venter.Complaint detailedComplaint) {
viewPager = mview.findViewById(R.id.complaint_image_view_pager);
if (viewPager != null) {
try {
ImageViewPagerAdapter imageFragmentPagerAdapter = new ImageViewPagerAdapter(getActivity(), detailedComplaint);
viewPager.setAdapter(imageFragmentPagerAdapter);
circleIndicator.setViewPager(viewPager);
imageFragmentPagerAdapter.registerDataSetObserver(circleIndicator.getDataSetObserver());
Objects.requireNonNull(viewPager.getAdapter()).notifyDataSetChanged();
synchronized (viewPager) {
viewPager.notifyAll();
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
private void initTabViews(final Venter.Complaint detailedComplaint) {
try {
if (detailedComplaint != null) {
......@@ -144,10 +114,8 @@ public class ComplaintFragment extends Fragment {
final TypedArray styledAttributes = Objects.requireNonNull(ComplaintFragment.this.getActivity()).getTheme().obtainStyledAttributes(
new int[]{android.R.attr.actionBarSize});
// int mActionBarSize = (int) styledAttributes.getDimension(0, 0); For future Uae
styledAttributes.recycle();
// Replace second parameter to mActionBarSize after adding "Relevant Complaints"
//Replace second parameter to mActionBarSize = (int) styledAttributes.getDimension(0, 0) after adding "Relevant Complaints"
AppBarLayout.LayoutParams layoutParams = new AppBarLayout.LayoutParams(AppBarLayout.LayoutParams.MATCH_PARENT,
0);
slidingTabLayout.setLayoutParams(layoutParams);
......
......@@ -280,7 +280,7 @@ public class FileComplaintFragment extends Fragment {
viewPager = view.findViewById(R.id.complaint_image_view_pager);
indicator = view.findViewById(R.id.indicator);
imageActionButton = view.findViewById(R.id.fabButton);
imageActionButton = view.findViewById(R.id.add_image);
imageButtonAddTags = view.findViewById(R.id.imageButtonAddTags);
editTextSuggestions = view.findViewById(R.id.editTextSuggestions);
editTextLocationDetails = view.findViewById(R.id.editTextLocationDetails);
......
package app.insti.fragment;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import com.squareup.picasso.Picasso;
import app.insti.R;
public class ImageFragment extends BaseFragment {
private static final String TAG = ImageFragment.class.getSimpleName();
private String image;
public static ImageFragment newInstance(String image) {
ImageFragment fragment = new ImageFragment();
Bundle args = new Bundle();
args.putString("image", image);
fragment.setArguments(args);
return fragment;
}
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Log.i(TAG, "getArguments in ImageFragment" + getArguments());
if (getArguments() != null) {
image = getArguments().getString("image");
}
}
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_image, container, false);
ImageView imageView = view.findViewById(R.id.imageView);
Picasso.get().load(image).into(imageView);
return view;
}
}
\ No newline at end of file
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center">
<ImageView
android:layout_width="100dp"
android:layout_height="100dp"
android:src="@drawable/baseline_photo_size_select_actual_black_48"
android:id="@+id/image_view_image"/>
</LinearLayout>
\ No newline at end of file
......@@ -16,42 +16,6 @@
android:layout_height="wrap_content"
android:theme="@style/Base.ThemeOverlay.AppCompat.Dark.ActionBar">
<android.support.design.widget.CollapsingToolbarLayout
android:id="@+id/collapsing_toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:contentScrim="@android:color/white"
android:background="@color/colorWhite"
app:layout_scrollFlags="scroll|exitUntilCollapsed">
<LinearLayout
android:id="@+id/image_holder_view"
android:layout_width="match_parent"
android:layout_height="2dp"
android:orientation="vertical"
app:layout_collapseMode="parallax">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.v4.view.ViewPager
android:id="@+id/complaint_image_view_pager"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
<me.relex.circleindicator.CircleIndicator
android:id="@+id/indicator"
android:layout_width="match_parent"
android:layout_height="48dp"
app:ci_animator="@animator/scale_with_alpha"
app:ci_drawable="@drawable/selected_dot" />
</RelativeLayout>
</LinearLayout>
</android.support.design.widget.CollapsingToolbarLayout>
<android.support.design.widget.TabLayout
android:id="@+id/sliding_tab_layout"
android:layout_width="wrap_content"
......@@ -69,8 +33,22 @@
android:id="@+id/tab_viewpager_details"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior"/>
app:layout_behavior="@string/appbar_scrolling_view_behavior" />
</android.support.design.widget.CoordinatorLayout>
<RelativeLayout
android:id="@+id/loadingPanel"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center">
<!--Progress Bar will show unless the data is being loaded-->
<ProgressBar
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:indeterminate="true"
android:theme="@style/BlueAccent" />
</RelativeLayout>
</LinearLayout>
......@@ -10,10 +10,36 @@
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_height="2dp"
android:orientation="vertical"
android:paddingTop="10dp">
<LinearLayout
android:id="@+id/image_holder_view"
android:layout_width="match_parent"
android:layout_height="2dp"
android:orientation="vertical">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.v4.view.ViewPager
android:id="@+id/complaint_image_view_pager"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
<me.relex.circleindicator.CircleIndicator
android:id="@+id/indicator"
android:layout_width="match_parent"
android:layout_height="48dp"
app:ci_animator="@animator/scale_with_alpha"
app:ci_drawable="@drawable/selected_dot" />
</RelativeLayout>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
......@@ -260,4 +286,4 @@
</LinearLayout>
</android.support.v4.widget.NestedScrollView>
\ No newline at end of file
</android.support.v4.widget.NestedScrollView>
......@@ -113,7 +113,7 @@
android:visibility="gone" />
<android.support.v7.widget.AppCompatImageButton
android:id="@+id/fabButton"
android:id="@+id/add_image"
android:layout_width="40dp"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical|right"
......
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:gravity="center">
<ImageView
android:id="@+id/imageView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#00000000" />
</LinearLayout>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment