Commit 9d9b6fcc authored by Sajal Narang's avatar Sajal Narang

Reformat code

parent 1b9d3f22
......@@ -40,9 +40,9 @@
<category android:name="android.intent.category.BROWSABLE" />
<data
android:scheme="https"
android:host="insti.app"
android:pathPattern="/org/.*" />
android:pathPattern="/org/.*"
android:scheme="https" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW" />
......@@ -51,9 +51,9 @@
<category android:name="android.intent.category.BROWSABLE" />
<data
android:scheme="https"
android:host="insti.app"
android:pathPattern="/user/.*" />
android:pathPattern="/user/.*"
android:scheme="https" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW" />
......@@ -62,9 +62,9 @@
<category android:name="android.intent.category.BROWSABLE" />
<data
android:scheme="https"
android:host="insti.app"
android:pathPattern="/event/.*" />
android:pathPattern="/event/.*"
android:scheme="https" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW" />
......@@ -73,9 +73,9 @@
<category android:name="android.intent.category.BROWSABLE" />
<data
android:scheme="http"
android:host="insti.app"
android:pathPattern="/org/.*" />
android:pathPattern="/org/.*"
android:scheme="http" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW" />
......@@ -84,9 +84,9 @@
<category android:name="android.intent.category.BROWSABLE" />
<data
android:scheme="http"
android:host="insti.app"
android:pathPattern="/user/.*" />
android:pathPattern="/user/.*"
android:scheme="http" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW" />
......@@ -95,9 +95,9 @@
<category android:name="android.intent.category.BROWSABLE" />
<data
android:scheme="http"
android:host="insti.app"
android:pathPattern="/event/.*" />
android:pathPattern="/event/.*"
android:scheme="http" />
</intent-filter>
</activity>
<activity
......
......@@ -63,6 +63,7 @@
}
</style>
</head>
......
package app.insti;
import android.util.Log;
import com.google.firebase.messaging.FirebaseMessagingService;
import com.google.firebase.messaging.RemoteMessage;
......
......@@ -33,11 +33,11 @@ public class LoginActivity extends AppCompatActivity {
private static final int PLAY_SERVICES_RESOLUTION_REQUEST = 9000;
private final String redirectUri = "https://redirecturi";
private final String guestUri = "https://guesturi";
private boolean loggingIn = false;
public String authCode = null;
public String fcmId = null;
SessionManager session;
Context mContext = this;
private boolean loggingIn = false;
private ProgressDialog progressDialog;
@Override
......@@ -70,7 +70,7 @@ public class LoginActivity extends AppCompatActivity {
webview.loadUrl("file:///android_asset/login.html");
// Get FCM Id
FirebaseInstanceId.getInstance().getInstanceId().addOnSuccessListener( new OnSuccessListener<InstanceIdResult>() {
FirebaseInstanceId.getInstance().getInstanceId().addOnSuccessListener(new OnSuccessListener<InstanceIdResult>() {
@Override
public void onSuccess(InstanceIdResult instanceIdResult) {
fcmId = instanceIdResult.getToken();
......
......@@ -80,6 +80,17 @@ public class MainActivity extends AppCompatActivity implements NavigationView.On
private boolean showNotifications = false;
private BackHandledFragment selectedFragment;
public static void hideKeyboard(Activity activity) {
InputMethodManager imm = (InputMethodManager) activity.getSystemService(Activity.INPUT_METHOD_SERVICE);
//Find the currently focused view, so we can grab the correct window token from it.
View view = activity.getCurrentFocus();
//If no view currently has focus, create a new one, just so we can grab a window token from it
if (view == null) {
view = new View(activity);
}
imm.hideSoftInputFromWindow(view.getWindowToken(), 0);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
......@@ -140,7 +151,7 @@ public class MainActivity extends AppCompatActivity implements NavigationView.On
int importance = NotificationManager.IMPORTANCE_HIGH;
NotificationChannel mChannel = null;
mChannel = new NotificationChannel(id, name,importance);
mChannel = new NotificationChannel(id, name, importance);
// Configure the notification channel.
mChannel.setDescription(description);
......@@ -227,7 +238,9 @@ public class MainActivity extends AppCompatActivity implements NavigationView.On
}
}
/** Update FCM Id and update profile */
/**
* Update FCM Id and update profile
*/
private void updateFCMId() {
FirebaseInstanceId.getInstance().getInstanceId().addOnSuccessListener(new OnSuccessListener<InstanceIdResult>() {
@Override
......@@ -248,7 +261,8 @@ public class MainActivity extends AppCompatActivity implements NavigationView.On
}
@Override
public void onFailure(Call<User> call, Throwable t) { }
public void onFailure(Call<User> call, Throwable t) {
}
});
}
});
......@@ -290,7 +304,7 @@ public class MainActivity extends AppCompatActivity implements NavigationView.On
@Override
public void onBackPressed() {
if(selectedFragment == null || !selectedFragment.onBackPressed()) {
if (selectedFragment == null || !selectedFragment.onBackPressed()) {
// Selected fragment did not consume the back press event.
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
if (drawer.isDrawerOpen(GravityCompat.START)) {
......@@ -310,7 +324,6 @@ public class MainActivity extends AppCompatActivity implements NavigationView.On
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
......@@ -509,17 +522,6 @@ public class MainActivity extends AppCompatActivity implements NavigationView.On
return false;
}
public static void hideKeyboard(Activity activity) {
InputMethodManager imm = (InputMethodManager) activity.getSystemService(Activity.INPUT_METHOD_SERVICE);
//Find the currently focused view, so we can grab the correct window token from it.
View view = activity.getCurrentFocus();
//If no view currently has focus, create a new one, just so we can grab a window token from it
if (view == null) {
view = new View(activity);
}
imm.hideSoftInputFromWindow(view.getWindowToken(), 0);
}
@Override
public void setSelectedFragment(BackHandledFragment backHandledFragment) {
this.selectedFragment = backHandledFragment;
......
......@@ -51,7 +51,7 @@ public class BodyAdapter extends RecyclerView.Adapter<BodyAdapter.ViewHolder> {
Body body = bodyList.get(position);
holder.name.setText(body.getBodyName());
holder.description.setText(body.getBodyShortDescription());
Picasso.get().load(body.getBodyImageURL()).resize(0,200).into(holder.image);
Picasso.get().load(body.getBodyImageURL()).resize(0, 200).into(holder.image);
}
......@@ -60,6 +60,10 @@ public class BodyAdapter extends RecyclerView.Adapter<BodyAdapter.ViewHolder> {
return bodyList.size();
}
public void setBodyList(List<Body> bodyList) {
this.bodyList = bodyList;
}
public class ViewHolder extends RecyclerView.ViewHolder {
public TextView name;
public TextView description;
......@@ -72,8 +76,4 @@ public class BodyAdapter extends RecyclerView.Adapter<BodyAdapter.ViewHolder> {
image = (ImageView) itemView.findViewById(R.id.object_picture);
}
}
public void setBodyList(List<Body> bodyList) {
this.bodyList = bodyList;
}
}
package app.insti.adapter;
import android.content.Context;
import android.media.Image;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
......@@ -97,6 +96,10 @@ public class FeedAdapter extends RecyclerView.Adapter<FeedAdapter.ViewHolder> {
return events.size();
}
public void setEvents(List<Event> events) {
this.events = events;
}
public class ViewHolder extends RecyclerView.ViewHolder {
private ImageView eventPicture;
private TextView eventTitle;
......@@ -112,8 +115,4 @@ public class FeedAdapter extends RecyclerView.Adapter<FeedAdapter.ViewHolder> {
eventBigPicture = (ImageView) itemView.findViewById(R.id.big_object_picture);
}
}
public void setEvents(List<Event> events) {
this.events = events;
}
}
......@@ -3,7 +3,6 @@ package app.insti.adapter;
import android.content.Context;
import android.support.annotation.NonNull;
import android.support.v7.widget.RecyclerView;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
......@@ -110,6 +109,15 @@ public class NewsAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
return NewsFragment.showLoader ? (newsArticles.size() + 1) : newsArticles.size();
}
public static class ProgressViewHolder extends RecyclerView.ViewHolder {
public ProgressBar progressBar;
public ProgressViewHolder(View v) {
super(v);
progressBar = (ProgressBar) v.findViewById(R.id.blog_load_item);
}
}
public class ViewHolder extends RecyclerView.ViewHolder {
private TextView articleTitle;
private TextView articleBody;
......@@ -125,12 +133,4 @@ public class NewsAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
articleContent = (TextView) itemView.findViewById(R.id.article_content);
}
}
public static class ProgressViewHolder extends RecyclerView.ViewHolder {
public ProgressBar progressBar;
public ProgressViewHolder(View v) {
super(v);
progressBar = (ProgressBar)v.findViewById(R.id.blog_load_item);
}
}
}
......@@ -2,7 +2,6 @@ package app.insti.adapter;
import android.content.Context;
import android.support.v7.widget.RecyclerView;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
......@@ -25,6 +24,13 @@ import ru.noties.markwon.Markwon;
public class PlacementBlogAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
private final int VIEW_ITEM = 1;
private final int VIEW_PROG = 0;
private List<PlacementBlogPost> posts;
private Context context;
private ItemClickListener itemClickListener;
public PlacementBlogAdapter(List<PlacementBlogPost> posts, ItemClickListener itemClickListener) {
this.posts = posts;
this.itemClickListener = itemClickListener;
}
public List<PlacementBlogPost> getPosts() {
return posts;
......@@ -34,15 +40,6 @@ public class PlacementBlogAdapter extends RecyclerView.Adapter<RecyclerView.View
this.posts = posts;
}
private List<PlacementBlogPost> posts;
private Context context;
private ItemClickListener itemClickListener;
public PlacementBlogAdapter(List<PlacementBlogPost> posts, ItemClickListener itemClickListener) {
this.posts = posts;
this.itemClickListener = itemClickListener;
}
@Override
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
context = parent.getContext();
......@@ -101,6 +98,14 @@ public class PlacementBlogAdapter extends RecyclerView.Adapter<RecyclerView.View
}
}
public static class ProgressViewHolder extends RecyclerView.ViewHolder {
public ProgressBar progressBar;
public ProgressViewHolder(View v) {
super(v);
progressBar = (ProgressBar) v.findViewById(R.id.blog_load_item);
}
}
public class ViewHolder extends RecyclerView.ViewHolder {
private TextView postTitle;
......@@ -116,13 +121,4 @@ public class PlacementBlogAdapter extends RecyclerView.Adapter<RecyclerView.View
}
}
public static class ProgressViewHolder extends RecyclerView.ViewHolder {
public ProgressBar progressBar;
public ProgressViewHolder(View v) {
super(v);
progressBar = (ProgressBar) v.findViewById(R.id.blog_load_item);
}
}
}
......@@ -2,7 +2,6 @@ package app.insti.adapter;
import android.content.Context;
import android.support.v7.widget.RecyclerView;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
......@@ -100,6 +99,15 @@ public class TrainingBlogAdapter extends RecyclerView.Adapter<RecyclerView.ViewH
return TrainingBlogFragment.showLoader ? (posts.size() + 1) : posts.size();
}
public static class ProgressViewHolder extends RecyclerView.ViewHolder {
public ProgressBar progressBar;
public ProgressViewHolder(View v) {
super(v);
progressBar = (ProgressBar) v.findViewById(R.id.blog_load_item);
}
}
public class ViewHolder extends RecyclerView.ViewHolder {
private TextView postTitle;
private TextView postPublished;
......@@ -113,12 +121,4 @@ public class TrainingBlogAdapter extends RecyclerView.Adapter<RecyclerView.ViewH
postContent = (TextView) itemView.findViewById(R.id.post_content);
}
}
public static class ProgressViewHolder extends RecyclerView.ViewHolder {
public ProgressBar progressBar;
public ProgressViewHolder(View v) {
super(v);
progressBar = (ProgressBar)v.findViewById(R.id.blog_load_item);
}
}
}
......@@ -66,6 +66,10 @@ public class UserAdapter extends RecyclerView.Adapter<UserAdapter.ViewHolder> {
return userList.size();
}
public void setUserList(List<User> userList) {
this.userList = userList;
}
public class ViewHolder extends RecyclerView.ViewHolder {
public TextView userName;
public TextView role;
......@@ -78,8 +82,4 @@ public class UserAdapter extends RecyclerView.Adapter<UserAdapter.ViewHolder> {
image = (ImageView) itemView.findViewById(R.id.object_picture);
}
}
public void setUserList(List<User> userList) {
this.userList = userList;
}
}
package app.insti.api;
import okhttp3.OkHttpClient;
import okhttp3.logging.HttpLoggingInterceptor;
import retrofit2.Retrofit;
import retrofit2.converter.gson.GsonConverterFactory;
......
......@@ -9,16 +9,14 @@ import android.support.v7.widget.Toolbar;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import com.squareup.picasso.Picasso;
import java.util.HashMap;
import java.util.Map;
import de.hdodenhof.circleimageview.CircleImageView;
import app.insti.R;
import de.hdodenhof.circleimageview.CircleImageView;
/**
* A simple {@link Fragment} subclass.
......@@ -55,7 +53,7 @@ public class AboutFragment extends BaseFragment {
put(R.id.cheekuimg, "cheeku.jpg");
put(R.id.sarthakimg, "sarthak.jpg");
put(R.id.sohamimg, "soham.jpg");
put(R.id.maitreyaimg,"maitreya.jpg");
put(R.id.maitreyaimg, "maitreya.jpg");
put(R.id.mrunmayiimg, "mrunmayi.jpg");
put(R.id.owaisimg, "owais.jpg");
put(R.id.hrushikeshimg, "hrushikesh.jpg");
......@@ -73,11 +71,12 @@ public class AboutFragment extends BaseFragment {
/* Show team pics */
for (final Map.Entry<Integer, String> entry : team.entrySet()) {
CircleImageView circleImageView = getActivity().findViewById(entry.getKey());
Picasso.get().load("https://insti.app/team-pics/" + entry.getValue()).resize(0,300).into(circleImageView);
Picasso.get().load("https://insti.app/team-pics/" + entry.getValue()).resize(0, 300).into(circleImageView);
}
/* Map TextView ids to links */
final Map<Integer, String> joinUs = new HashMap<Integer, String>() {{;
final Map<Integer, String> joinUs = new HashMap<Integer, String>() {{
;
put(R.id.django, "https://github.com/wncc/IITBapp");
put(R.id.android, "https://github.com/wncc/InstiApp");
put(R.id.angular, "https://github.com/pulsejet/iitb-app-angular");
......
......@@ -25,8 +25,8 @@ import android.widget.Toast;
import com.google.gson.Gson;
import app.insti.Constants;
import app.insti.activity.MainActivity;
import app.insti.R;
import app.insti.activity.MainActivity;
import app.insti.api.RetrofitInterface;
import app.insti.api.ServiceGenerator;
import app.insti.data.Body;
......@@ -37,9 +37,8 @@ import retrofit2.Response;
public class AddEventFragment extends BaseFragment {
private ProgressDialog progressDialog;
public ValueCallback<Uri[]> uploadMessage;
private ProgressDialog progressDialog;
public AddEventFragment() {
// Required empty public constructor
......@@ -98,6 +97,7 @@ public class AddEventFragment extends BaseFragment {
webView.setOnTouchListener(new View.OnTouchListener() {
float m_downX;
public boolean onTouch(View v, MotionEvent event) {
if (event.getPointerCount() > 1) {
......@@ -128,7 +128,39 @@ public class AddEventFragment extends BaseFragment {
return view;
}
public class MyWebViewClient extends WebViewClient{
void openEvent(Event event) {
String eventJson = new Gson().toJson(event);
Bundle bundle = getArguments();
if (bundle == null)
bundle = new Bundle();
bundle.putString(Constants.EVENT_JSON, eventJson);
EventFragment eventFragment = new EventFragment();
eventFragment.setArguments(bundle);
FragmentManager manager = getActivity().getSupportFragmentManager();
FragmentTransaction transaction = manager.beginTransaction();
transaction.setCustomAnimations(R.anim.slide_in_left, R.anim.slide_out_left, R.anim.slide_in_right, R.anim.slide_out_right);
transaction.replace(R.id.framelayout_for_fragment, eventFragment, eventFragment.getTag());
transaction.addToBackStack(eventFragment.getTag()).commit();
}
void openBody(Body body) {
BodyFragment bodyFragment = BodyFragment.newInstance(body);
FragmentManager manager = getActivity().getSupportFragmentManager();
FragmentTransaction transaction = manager.beginTransaction();
transaction.setCustomAnimations(R.anim.slide_in_left, R.anim.slide_out_left, R.anim.slide_in_right, R.anim.slide_out_right);
transaction.replace(R.id.framelayout_for_fragment, bodyFragment, bodyFragment.getTag());
transaction.addToBackStack(bodyFragment.getTag()).commit();
}
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == 101) {
if (uploadMessage == null) return;
uploadMessage.onReceiveValue(WebChromeClient.FileChooserParams.parseResult(resultCode, data));
uploadMessage = null;
}
}
public class MyWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
/* Check URL */
......@@ -145,7 +177,8 @@ public class AddEventFragment extends BaseFragment {
}
@Override
public void onFailure(Call<Event> call, Throwable t) { }
public void onFailure(Call<Event> call, Throwable t) {
}
});
return true;
......@@ -162,7 +195,8 @@ public class AddEventFragment extends BaseFragment {
}
@Override
public void onFailure(Call<Body> call, Throwable t) { }
public void onFailure(Call<Body> call, Throwable t) {
}
});
return true;
......@@ -206,36 +240,4 @@ public class AddEventFragment extends BaseFragment {
return true;
}
}
void openEvent(Event event) {
String eventJson = new Gson().toJson(event);
Bundle bundle = getArguments();
if (bundle == null)
bundle = new Bundle();
bundle.putString(Constants.EVENT_JSON, eventJson);
EventFragment eventFragment = new EventFragment();
eventFragment.setArguments(bundle);
FragmentManager manager = getActivity().getSupportFragmentManager();
FragmentTransaction transaction = manager.beginTransaction();
transaction.setCustomAnimations(R.anim.slide_in_left, R.anim.slide_out_left, R.anim.slide_in_right, R.anim.slide_out_right);
transaction.replace(R.id.framelayout_for_fragment, eventFragment, eventFragment.getTag());
transaction.addToBackStack(eventFragment.getTag()).commit();
}
void openBody(Body body) {
BodyFragment bodyFragment = BodyFragment.newInstance(body);
FragmentManager manager = getActivity().getSupportFragmentManager();
FragmentTransaction transaction = manager.beginTransaction();
transaction.setCustomAnimations(R.anim.slide_in_left, R.anim.slide_out_left, R.anim.slide_in_right, R.anim.slide_out_right);
transaction.replace(R.id.framelayout_for_fragment, bodyFragment, bodyFragment.getTag());
transaction.addToBackStack(bodyFragment.getTag()).commit();
}
public void onActivityResult(int requestCode, int resultCode, Intent data){
if (requestCode == 101) {
if (uploadMessage == null) return;
uploadMessage.onReceiveValue(WebChromeClient.FileChooserParams.parseResult(resultCode, data));
uploadMessage = null;
}
}
}
......@@ -4,12 +4,13 @@ import android.os.Bundle;
public abstract class BackHandledFragment extends BaseFragment {
protected BackHandlerInterface backHandlerInterface;
public abstract boolean onBackPressed();
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if(!(getActivity() instanceof BackHandlerInterface)) {
if (!(getActivity() instanceof BackHandlerInterface)) {
throw new ClassCastException("Hosting activity must implement BackHandlerInterface");
} else {
backHandlerInterface = (BackHandlerInterface) getActivity();
......
......@@ -38,9 +38,9 @@ import java.util.List;
import app.insti.Constants;
import app.insti.ItemClickListener;
import app.insti.activity.MainActivity;
import app.insti.R;
import app.insti.ShareURLMaker;
import app.insti.activity.MainActivity;
import app.insti.adapter.BodyAdapter;
import app.insti.adapter.FeedAdapter;
import app.insti.adapter.UserAdapter;
......@@ -93,16 +93,6 @@ public class BodyFragment extends BackHandledFragment {
// Required empty public constructor
}
@Override
public boolean onBackPressed() {
if (zoomMode) {
zoomOut(expandedImageView, startBounds, startScaleFinal, bodyPicture);
zoomMode = false;
return true;
}
return false;
}
/**
* Use this factory method to create a new instance of
* this fragment using the provided parameters.
......@@ -119,6 +109,16 @@ public class BodyFragment extends BackHandledFragment {
return fragment;
}
@Override
public boolean onBackPressed() {
if (zoomMode) {
zoomOut(expandedImageView, startBounds, startScaleFinal, bodyPicture);
zoomMode = false;
return true;
}
return false;
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
......@@ -185,7 +185,7 @@ public class BodyFragment extends BackHandledFragment {
private void setVisibleIfHasElements(int[] viewIds, List list) {
if (list != null && list.size() > 0) {
for (int viewId: viewIds){
for (int viewId : viewIds) {
getActivity().findViewById(viewId).setVisibility(View.VISIBLE);
}
}
......@@ -194,7 +194,7 @@ public class BodyFragment extends BackHandledFragment {
private void displayBody() {
/* Skip if we're already destroyed */
if (getActivity() == null || getView() == null) return;
if(!body.equals(min_body)) bodyDisplayed = true;
if (!body.equals(min_body)) bodyDisplayed = true;
TextView bodyName = (TextView) getView().findViewById(R.id.body_name);
TextView bodyDescription = (TextView) getView().findViewById(R.id.body_description);
......@@ -408,33 +408,6 @@ public class BodyFragment extends BackHandledFragment {
return inflater.inflate(R.layout.fragment_body, container, false);
}
private class updateDbBody extends AsyncTask<Body, Void, Integer> {
@Override
protected Integer doInBackground(Body... body) {
if (appDatabase.dbDao().getBody(body[0].getBodyID()).length > 0) {
appDatabase.dbDao().updateBody(body[0]);
} else {
appDatabase.dbDao().insertBody(body[0]);
}
return 1;
}
}
private class getDbBody extends AsyncTask<String, Void, Body[]> {
@Override
protected Body[] doInBackground(String... id) {
return appDatabase.dbDao().getBody(min_body.getBodyID());
}
@Override
protected void onPostExecute(Body[] result) {
if (result.length > 0 && !bodyDisplayed) {
body = result[0];
displayBody();
}
}
}
private void zoomOut(final ImageView expandedImageView, Rect startBounds, float startScaleFinal, final View thumbView) {
expandedImageView.setBackgroundColor(0x00000000);
if (mCurrentAnimator != null) {
......@@ -448,7 +421,7 @@ public class BodyFragment extends BackHandledFragment {
.ofFloat(expandedImageView, View.X, startBounds.left))
.with(ObjectAnimator
.ofFloat(expandedImageView,
View.Y,startBounds.top))
View.Y, startBounds.top))
.with(ObjectAnimator
.ofFloat(expandedImageView,
View.SCALE_X, startScaleFinal))
......@@ -571,4 +544,31 @@ public class BodyFragment extends BackHandledFragment {
startScaleFinal = startScale;
zoomMode = true;
}
private class updateDbBody extends AsyncTask<Body, Void, Integer> {
@Override
protected Integer doInBackground(Body... body) {
if (appDatabase.dbDao().getBody(body[0].getBodyID()).length > 0) {
appDatabase.dbDao().updateBody(body[0]);
} else {
appDatabase.dbDao().insertBody(body[0]);
}
return 1;
}
}
private class getDbBody extends AsyncTask<String, Void, Body[]> {
@Override
protected Body[] doInBackground(String... id) {
return appDatabase.dbDao().getBody(min_body.getBodyID());
}
@Override
protected void onPostExecute(Body[] result) {
if (result.length > 0 && !bodyDisplayed) {
body = result[0];
displayBody();
}
}
}
}
......@@ -29,8 +29,8 @@ import java.util.TimeZone;
import app.insti.Constants;
import app.insti.ItemClickListener;
import app.insti.activity.MainActivity;
import app.insti.R;
import app.insti.activity.MainActivity;
import app.insti.adapter.FeedAdapter;
import app.insti.api.RetrofitInterface;
import app.insti.api.ServiceGenerator;
......@@ -92,7 +92,7 @@ public class CalendarFragment extends BaseFragment {
((MainActivity) getActivity()).updateFragment(addEventFragment);
}
});
if (((MainActivity)getActivity()).createEventAccess()) {
if (((MainActivity) getActivity()).createEventAccess()) {
fab.setVisibility(View.VISIBLE);
}
......
......@@ -44,9 +44,9 @@ import java.util.List;
import app.insti.Constants;
import app.insti.ItemClickListener;
import app.insti.activity.MainActivity;
import app.insti.R;
import app.insti.ShareURLMaker;
import app.insti.activity.MainActivity;
import app.insti.adapter.BodyAdapter;
import app.insti.api.RetrofitInterface;
import app.insti.api.ServiceGenerator;
......@@ -92,6 +92,27 @@ public class EventFragment extends BackHandledFragment {
// Required empty public constructor
}
/**
* Get a spannable with a small count badge to set for an element text
*
* @param text Text to show in the spannable
* @param count integer count to show in the badge
* @return spannable to be used as view.setText(spannable)
*/
static Spannable getCountBadgeSpannable(String text, Integer count) {
// Check for nulls
if (count == null) return new SpannableString(text);
// Make a spannable
String countString = Integer.toString(count);
Spannable spannable = new SpannableString(text + " " + countString);
// Set font face and color of badge
spannable.setSpan(new RelativeSizeSpan(0.75f), text.length(), text.length() + 1 + countString.length(), Spannable.SPAN_INCLUSIVE_INCLUSIVE);
spannable.setSpan(new ForegroundColorSpan(Color.DKGRAY), text.length(), text.length() + 1 + countString.length(), Spannable.SPAN_INCLUSIVE_INCLUSIVE);
return spannable;
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
......@@ -270,28 +291,6 @@ public class EventFragment extends BackHandledFragment {
goingButton.setText(getCountBadgeSpannable("GOING", event.getEventGoingCount()));
}
/**
* Get a spannable with a small count badge to set for an element text
*
* @param text Text to show in the spannable
* @param count integer count to show in the badge
* @return spannable to be used as view.setText(spannable)
*/
static Spannable getCountBadgeSpannable(String text, Integer count) {
// Check for nulls
if (count == null) return new SpannableString(text);
// Make a spannable
String countString = Integer.toString(count);
Spannable spannable = new SpannableString(text + " " + countString);
// Set font face and color of badge
spannable.setSpan(new RelativeSizeSpan(0.75f), text.length(), text.length() + 1 + countString.length(), Spannable.SPAN_INCLUSIVE_INCLUSIVE);
spannable.setSpan(new ForegroundColorSpan(Color.DKGRAY), text.length(), text.length() + 1 + countString.length(), Spannable.SPAN_INCLUSIVE_INCLUSIVE);
return spannable;
}
View.OnClickListener getUESOnClickListener(final int status) {
return new View.OnClickListener() {
@Override
......@@ -304,14 +303,26 @@ public class EventFragment extends BackHandledFragment {
if (response.isSuccessful()) {
/* TODO: Find a better way to change counts */
if (endStatus == 0) {
if (event.getEventUserUes() == 1) { event.setEventInterestedCount(event.getEventInterestedCount() - 1); }
if (event.getEventUserUes() == 2) { event.setEventGoingCount(event.getEventGoingCount() - 1); }
if (event.getEventUserUes() == 1) {
event.setEventInterestedCount(event.getEventInterestedCount() - 1);
}
if (event.getEventUserUes() == 2) {
event.setEventGoingCount(event.getEventGoingCount() - 1);
}
} else if (endStatus == 1) {
if (event.getEventUserUes() != 1) { event.setEventInterestedCount(event.getEventInterestedCount() + 1); }
if (event.getEventUserUes() == 2) { event.setEventGoingCount(event.getEventGoingCount() - 1); }
if (event.getEventUserUes() != 1) {
event.setEventInterestedCount(event.getEventInterestedCount() + 1);
}
if (event.getEventUserUes() == 2) {
event.setEventGoingCount(event.getEventGoingCount() - 1);
}
} else if (endStatus == 2) {
if (event.getEventUserUes() != 2) { event.setEventGoingCount(event.getEventGoingCount() + 1); }
if (event.getEventUserUes() == 1) { event.setEventInterestedCount(event.getEventInterestedCount() - 1); }
if (event.getEventUserUes() != 2) {
event.setEventGoingCount(event.getEventGoingCount() + 1);
}
if (event.getEventUserUes() == 1) {
event.setEventInterestedCount(event.getEventInterestedCount() - 1);
}
}
event.setEventUserUes(endStatus);
......@@ -329,14 +340,6 @@ public class EventFragment extends BackHandledFragment {
};
}
private class updateDbEvent extends AsyncTask<Event, Void, Integer> {
@Override
protected Integer doInBackground(Event... event) {
appDatabase.dbDao().updateEvent(event[0]);
return 1;
}
}
private void zoomImageFromThumb(final ImageView thumbView) {
// If there's an animation in progress, cancel it
// immediately and proceed with this one.
......@@ -446,7 +449,7 @@ public class EventFragment extends BackHandledFragment {
.ofFloat(expandedImageView, View.X, startBounds.left))
.with(ObjectAnimator
.ofFloat(expandedImageView,
View.Y,startBounds.top))
View.Y, startBounds.top))
.with(ObjectAnimator
.ofFloat(expandedImageView,
View.SCALE_X, startScaleFinal))
......@@ -473,4 +476,12 @@ public class EventFragment extends BackHandledFragment {
set.start();
mCurrentAnimator = set;
}
private class updateDbEvent extends AsyncTask<Event, Void, Integer> {
@Override
protected Integer doInBackground(Event... event) {
appDatabase.dbDao().updateEvent(event[0]);
return 1;
}
}
}
......@@ -21,8 +21,8 @@ import java.util.List;
import app.insti.Constants;
import app.insti.ItemClickListener;
import app.insti.activity.MainActivity;
import app.insti.R;
import app.insti.activity.MainActivity;
import app.insti.adapter.BodyAdapter;
import app.insti.adapter.FeedAdapter;
import app.insti.adapter.UserAdapter;
......@@ -60,6 +60,7 @@ public class ExploreFragment extends Fragment {
/**
* Use this factory method to create a new instance of
* this fragment.
*
* @return A new instance of fragment ExploreFragment.
*/
// TODO: Rename and change types and number of parameters
......@@ -96,7 +97,8 @@ public class ExploreFragment extends Fragment {
}
@Override
public void onFailure(Call<List<Body>> call, Throwable t) {}
public void onFailure(Call<List<Body>> call, Throwable t) {
}
});
} else {
getView().findViewById(R.id.loadingPanel).setVisibility(View.GONE);
......@@ -106,9 +108,12 @@ public class ExploreFragment extends Fragment {
final EditText searchEditText = getView().findViewById(R.id.explore_search);
searchEditText.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {}
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {}
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
@Override
public void afterTextChanged(Editable s) {
......
......@@ -23,8 +23,8 @@ import java.util.List;
import app.insti.ActivityBuffer;
import app.insti.Constants;
import app.insti.ItemClickListener;
import app.insti.activity.MainActivity;
import app.insti.R;
import app.insti.activity.MainActivity;
import app.insti.adapter.FeedAdapter;
import app.insti.api.RetrofitInterface;
import app.insti.api.ServiceGenerator;
......@@ -124,9 +124,9 @@ public class FeedFragment extends BaseFragment {
((MainActivity) getActivity()).updateFragment(addEventFragment);
}
});
feedRecyclerView.addOnScrollListener(new RecyclerView.OnScrollListener(){
feedRecyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {
@Override
public void onScrolled(RecyclerView recyclerView, int dx, int dy){
public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
if (dy > 0) fab.hide();
else if (dy < 0) fab.show();
}
......
......@@ -156,12 +156,14 @@ public class MessMenuFragment extends BaseFragment {
final List<MessMenu> sortedMenus = new ArrayList<>();
final Calendar calendar = Calendar.getInstance(Locale.UK);
int today = calendar.get(Calendar.DAY_OF_WEEK) - 2;
if (today == -1) { today = 6; }
if (today == -1) {
today = 6;
}
for (int i = 0; i < 7; i++) {
final int day = (today + i) % 7 + 1;
for(MessMenu menu : messMenus) {
if(menu.getDay() == day) {
for (MessMenu menu : messMenus) {
if (menu.getDay() == day) {
sortedMenus.add(menu);
}
}
......
......@@ -23,8 +23,8 @@ import java.util.List;
import app.insti.ActivityBuffer;
import app.insti.Constants;
import app.insti.ItemClickListener;
import app.insti.activity.MainActivity;
import app.insti.R;
import app.insti.activity.MainActivity;
import app.insti.adapter.FeedAdapter;
import app.insti.data.AppDatabase;
import app.insti.data.Event;
......@@ -67,7 +67,7 @@ public class MyEventsFragment extends BaseFragment {
public void onStart() {
super.onStart();
if (((MainActivity)getActivity()).createEventAccess()) {
if (((MainActivity) getActivity()).createEventAccess()) {
fab.setVisibility(View.VISIBLE);
}
......
......@@ -26,8 +26,8 @@ import java.util.List;
import app.insti.ActivityBuffer;
import app.insti.Constants;
import app.insti.ItemClickListener;
import app.insti.activity.MainActivity;
import app.insti.R;
import app.insti.activity.MainActivity;
import app.insti.adapter.NewsAdapter;
import app.insti.api.RetrofitInterface;
import app.insti.api.ServiceGenerator;
......@@ -42,11 +42,11 @@ import retrofit2.Response;
*/
public class NewsFragment extends BaseFragment {
public static boolean showLoader = true;
private RecyclerView newsRecyclerView;
private SwipeRefreshLayout newsSwipeRefreshLayout;
private AppDatabase appDatabase;
private boolean freshNewsDisplayed = false;
public static boolean showLoader = true;
private String searchQuery;
public NewsFragment() {
......@@ -177,28 +177,6 @@ public class NewsFragment extends BaseFragment {
startActivity(browse);
}
private class updateDatabase extends AsyncTask<List<NewsArticle>, Void, Integer> {
@Override
protected Integer doInBackground(List<NewsArticle>... posts) {
appDatabase.dbDao().deleteNewsArticles();
appDatabase.dbDao().insertNewsArticles(posts[0]);
return 1;
}
}
private class showNewsFromDB extends AsyncTask<String, Void, List<NewsArticle>> {
@Override
protected List<NewsArticle> doInBackground(String... posts) {
return appDatabase.dbDao().getAllNewsArticles();
}
protected void onPostExecute(List<NewsArticle> result) {
if (!freshNewsDisplayed) {
displayNews(result);
}
}
}
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
inflater.inflate(R.menu.search_view_menu, menu);
......@@ -215,7 +193,7 @@ public class NewsFragment extends BaseFragment {
@Override
public boolean onQueryTextChange(String newText) {
if (TextUtils.isEmpty(newText)){
if (TextUtils.isEmpty(newText)) {
//Text is cleared, do your thing
searchQuery = null;
updateNews();
......@@ -235,4 +213,26 @@ public class NewsFragment extends BaseFragment {
updateNews();
showLoader = false;
}
private class updateDatabase extends AsyncTask<List<NewsArticle>, Void, Integer> {
@Override
protected Integer doInBackground(List<NewsArticle>... posts) {
appDatabase.dbDao().deleteNewsArticles();
appDatabase.dbDao().insertNewsArticles(posts[0]);
return 1;
}
}
private class showNewsFromDB extends AsyncTask<String, Void, List<NewsArticle>> {
@Override
protected List<NewsArticle> doInBackground(String... posts) {
return appDatabase.dbDao().getAllNewsArticles();
}
protected void onPostExecute(List<NewsArticle> result) {
if (!freshNewsDisplayed) {
displayNews(result);
}
}
}
}
......@@ -18,8 +18,8 @@ import java.util.List;
import app.insti.Constants;
import app.insti.ItemClickListener;
import app.insti.activity.MainActivity;
import app.insti.R;
import app.insti.activity.MainActivity;
import app.insti.adapter.NotificationsAdapter;
import app.insti.api.RetrofitInterface;
import app.insti.api.ServiceGenerator;
......@@ -58,7 +58,7 @@ public class NotificationsFragment extends BaseFragment {
toolbar.setTitle("Notifications");
RetrofitInterface retrofitInterface = ServiceGenerator.createService(RetrofitInterface.class);
retrofitInterface.getNotifications(((MainActivity)getActivity()).getSessionIDHeader()).enqueue(new Callback<List<Notification>>() {
retrofitInterface.getNotifications(((MainActivity) getActivity()).getSessionIDHeader()).enqueue(new Callback<List<Notification>>() {
@Override
public void onResponse(Call<List<Notification>> call, Response<List<Notification>> response) {
if (response.isSuccessful()) {
......@@ -68,7 +68,8 @@ public class NotificationsFragment extends BaseFragment {
}
@Override
public void onFailure(Call<List<Notification>> call, Throwable t) { }
public void onFailure(Call<List<Notification>> call, Throwable t) {
}
});
}
......@@ -87,12 +88,15 @@ public class NotificationsFragment extends BaseFragment {
/* Mark notification read */
RetrofitInterface retrofitInterface = ServiceGenerator.createService(RetrofitInterface.class);
String sessId = ((MainActivity)getActivity()).getSessionIDHeader();
String sessId = ((MainActivity) getActivity()).getSessionIDHeader();
retrofitInterface.markNotificationRead(sessId, notification.getNotificationId()).enqueue(new Callback<Void>() {
@Override
public void onResponse(Call<Void> call, Response<Void> response) { }
public void onResponse(Call<Void> call, Response<Void> response) {
}
@Override
public void onFailure(Call<Void> call, Throwable t) { }
public void onFailure(Call<Void> call, Throwable t) {
}
});
FragmentManager manager = getActivity().getSupportFragmentManager();
......@@ -100,7 +104,9 @@ public class NotificationsFragment extends BaseFragment {
String tag = "";
Bundle bundle = getArguments();
if (bundle == null) { bundle = new Bundle(); }
if (bundle == null) {
bundle = new Bundle();
}
bundle.putString(Constants.SESSION_ID, ((MainActivity) getActivity()).getSessionIDHeader());
/* Open event */
......
......@@ -26,8 +26,8 @@ import java.util.List;
import app.insti.ActivityBuffer;
import app.insti.Constants;
import app.insti.ItemClickListener;
import app.insti.activity.MainActivity;
import app.insti.R;
import app.insti.activity.MainActivity;
import app.insti.adapter.PlacementBlogAdapter;
import app.insti.api.RetrofitInterface;
import app.insti.api.ServiceGenerator;
......@@ -42,12 +42,12 @@ import retrofit2.Response;
*/
public class PlacementBlogFragment extends BaseFragment {
public static boolean showLoader = true;
private RecyclerView placementFeedRecyclerView;
private PlacementBlogAdapter placementBlogAdapter;
private SwipeRefreshLayout feedSwipeRefreshLayout;
private AppDatabase appDatabase;
private boolean freshBlogDisplayed = false;
public static boolean showLoader = true;
private String searchQuery;
......@@ -177,28 +177,6 @@ public class PlacementBlogFragment extends BaseFragment {
startActivity(browse);
}
private class updateDatabase extends AsyncTask<List<PlacementBlogPost>, Void, Integer> {
@Override
protected Integer doInBackground(List<PlacementBlogPost>... posts) {
appDatabase.dbDao().deletePlacementBlogPosts();
appDatabase.dbDao().insertPlacementBlogPosts(posts[0]);
return 1;
}
}
private class showPlacementBlogFromDB extends AsyncTask<String, Void, List<PlacementBlogPost>> {
@Override
protected List<PlacementBlogPost> doInBackground(String... posts) {
return appDatabase.dbDao().getAllPlacementBlogPosts();
}
protected void onPostExecute(List<PlacementBlogPost> result) {
if (!freshBlogDisplayed) {
displayPlacementFeed(result);
}
}
}
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
inflater.inflate(R.menu.search_view_menu, menu);
......@@ -215,7 +193,7 @@ public class PlacementBlogFragment extends BaseFragment {
@Override
public boolean onQueryTextChange(String newText) {
if (TextUtils.isEmpty(newText)){
if (TextUtils.isEmpty(newText)) {
//Text is cleared, do your thing
searchQuery = null;
updatePlacementFeed();
......@@ -235,4 +213,26 @@ public class PlacementBlogFragment extends BaseFragment {
updatePlacementFeed();
showLoader = false;
}
private class updateDatabase extends AsyncTask<List<PlacementBlogPost>, Void, Integer> {
@Override
protected Integer doInBackground(List<PlacementBlogPost>... posts) {
appDatabase.dbDao().deletePlacementBlogPosts();
appDatabase.dbDao().insertPlacementBlogPosts(posts[0]);
return 1;
}
}
private class showPlacementBlogFromDB extends AsyncTask<String, Void, List<PlacementBlogPost>> {
@Override
protected List<PlacementBlogPost> doInBackground(String... posts) {
return appDatabase.dbDao().getAllPlacementBlogPosts();
}
protected void onPostExecute(List<PlacementBlogPost> result) {
if (!freshBlogDisplayed) {
displayPlacementFeed(result);
}
}
}
}
......@@ -66,6 +66,13 @@ public class ProfileFragment extends BackHandledFragment {
// Required empty public constructor
}
public static ProfileFragment newInstance(String userID) {
ProfileFragment fragment = new ProfileFragment();
Bundle args = new Bundle();
args.putString(Constants.USER_ID, userID);
fragment.setArguments(args);
return fragment;
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
......@@ -221,14 +228,6 @@ public class ProfileFragment extends BackHandledFragment {
mCurrentAnimator = set;
}
public static ProfileFragment newInstance(String userID) {
ProfileFragment fragment = new ProfileFragment();
Bundle args = new Bundle();
args.putString(Constants.USER_ID, userID);
fragment.setArguments(args);
return fragment;
}
private void zoomImageFromThumb(final ImageView thumbView) {
// If there's an animation in progress, cancel it
// immediately and proceed with this one.
......
......@@ -17,13 +17,13 @@ public class QuickLinksFragment extends BaseFragment {
// Required empty public constructor
}
public void onStart(){
public void onStart() {
super.onStart();
Toolbar toolbar = getActivity().findViewById(R.id.toolbar);
toolbar.setTitle("Quick Links");
TextView CMS = getActivity().findViewById(R.id.button_CMS);
TextView CMS = getActivity().findViewById(R.id.button_CMS);
TextView CMSMaint = getActivity().findViewById(R.id.button_CMSMaint);
TextView CMSNet = getActivity().findViewById(R.id.button_CMSNet);
TextView ASC = getActivity().findViewById(R.id.button_ASC);
......@@ -47,36 +47,125 @@ public class QuickLinksFragment extends BaseFragment {
TextView Hospital = getActivity().findViewById(R.id.button_Hospital);
TextView VPN = getActivity().findViewById(R.id.button_VPN);
CMS.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { goToUrl("https://gymkhana.iitb.ac.in/cms_new/"); } });
CMSMaint.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { goToUrl("https://support.iitb.ac.in"); } });
CMSNet.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { goToUrl("https://help-cc.iitb.ac.in/"); } });
ASC.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { goToUrl("https://asc.iitb.ac.in"); } });
ASCExt.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { goToUrl("https://portal.iitb.ac.in/asc"); } });
Moodle.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { goToUrl("https://moodle.iitb.ac.in"); } });
Intern.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { goToUrl("http://placements.iitb.ac.in/internship/login.jsp"); } });
Placement.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { goToUrl("http://placements.iitb.ac.in/placements/login.jsp"); } });
Library.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { goToUrl("http://www.library.iitb.ac.in/"); } });
AcadCal.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { goToUrl("http://www.iitb.ac.in/newacadhome/toacadcalender.jsp"); } });
AcadTime.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { goToUrl("http://www.iitb.ac.in/newacadhome/timetable.jsp"); } });
Holidays.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { goToUrl("http://www.iitb.ac.in/en/about-iit-bombay/iit-bombay-holidays-list"); } });
Circulars.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { goToUrl("http://www.iitb.ac.in/newacadhome/circular.jsp"); } });
Courses.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { goToUrl("https://portal.iitb.ac.in/asc/Courses"); } });
WebMail.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { goToUrl("https://webmail.iitb.ac.in"); } });
GPO.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { goToUrl("https://gpo.iitb.ac.in"); } });
CAMP.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { goToUrl("https://camp.iitb.ac.in/"); } });
MSStore.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { goToUrl("http://msstore.iitb.ac.in/"); } });
BigHome.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { goToUrl("https://home.iitb.ac.in/"); } });
CMS.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
goToUrl("https://gymkhana.iitb.ac.in/cms_new/");
}
});
CMSMaint.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
goToUrl("https://support.iitb.ac.in");
}
});
CMSNet.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
goToUrl("https://help-cc.iitb.ac.in/");
}
});
ASC.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
goToUrl("https://asc.iitb.ac.in");
}
});
ASCExt.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
goToUrl("https://portal.iitb.ac.in/asc");
}
});
Moodle.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
goToUrl("https://moodle.iitb.ac.in");
}
});
Intern.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
goToUrl("http://placements.iitb.ac.in/internship/login.jsp");
}
});
Placement.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
goToUrl("http://placements.iitb.ac.in/placements/login.jsp");
}
});
Library.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
goToUrl("http://www.library.iitb.ac.in/");
}
});
AcadCal.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
goToUrl("http://www.iitb.ac.in/newacadhome/toacadcalender.jsp");
}
});
AcadTime.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
goToUrl("http://www.iitb.ac.in/newacadhome/timetable.jsp");
}
});
Holidays.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
goToUrl("http://www.iitb.ac.in/en/about-iit-bombay/iit-bombay-holidays-list");
}
});
Circulars.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
goToUrl("http://www.iitb.ac.in/newacadhome/circular.jsp");
}
});
Courses.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
goToUrl("https://portal.iitb.ac.in/asc/Courses");
}
});
WebMail.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
goToUrl("https://webmail.iitb.ac.in");
}
});
GPO.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
goToUrl("https://gpo.iitb.ac.in");
}
});
CAMP.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
goToUrl("https://camp.iitb.ac.in/");
}
});
MSStore.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
goToUrl("http://msstore.iitb.ac.in/");
}
});
BigHome.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
goToUrl("https://home.iitb.ac.in/");
}
});
// FTP.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { goToUrl("ftp://ftp.iitb.ac.in/"); } });
Intercom.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { goToUrl("https://portal.iitb.ac.in/TelephoneDirectory/"); } });
Hospital.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { goToUrl("http://www.iitb.ac.in/hospital/"); } });
VPN.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { goToUrl("https://www.cc.iitb.ac.in/engservices/engaccessingiitffromoutside/19-vpn"); } });
Intercom.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
goToUrl("https://portal.iitb.ac.in/TelephoneDirectory/");
}
});
Hospital.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
goToUrl("http://www.iitb.ac.in/hospital/");
}
});
VPN.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
goToUrl("https://www.cc.iitb.ac.in/engservices/engaccessingiitffromoutside/19-vpn");
}
});
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
return inflater.inflate(R.layout.fragment_quick_links, container, false);
}
public void goToUrl (String url) {
public void goToUrl(String url) {
Uri uriUrl = Uri.parse(url);
Intent launchBrowser = new Intent(Intent.ACTION_VIEW, uriUrl);
startActivity(launchBrowser);
......
......@@ -18,9 +18,9 @@ import android.widget.TextView;
import com.squareup.picasso.Picasso;
import app.insti.Constants;
import app.insti.activity.LoginActivity;
import app.insti.R;
import app.insti.SessionManager;
import app.insti.activity.LoginActivity;
import app.insti.api.RetrofitInterface;
import app.insti.api.ServiceGenerator;
import app.insti.data.User;
......
......@@ -26,8 +26,8 @@ import java.util.List;
import app.insti.ActivityBuffer;
import app.insti.Constants;
import app.insti.ItemClickListener;
import app.insti.activity.MainActivity;
import app.insti.R;
import app.insti.activity.MainActivity;
import app.insti.adapter.TrainingBlogAdapter;
import app.insti.api.RetrofitInterface;
import app.insti.api.ServiceGenerator;
......@@ -42,11 +42,11 @@ import retrofit2.Response;
*/
public class TrainingBlogFragment extends BaseFragment {
public static boolean showLoader = true;
private RecyclerView trainingFeedRecyclerView;
private SwipeRefreshLayout feedSwipeRefreshLayout;
private AppDatabase appDatabase;
private boolean freshBlogDisplayed = false;
public static boolean showLoader = true;
private String searchQuery;
......@@ -176,28 +176,6 @@ public class TrainingBlogFragment extends BaseFragment {
startActivity(browse);
}
private class updateDatabase extends AsyncTask<List<TrainingBlogPost>, Void, Integer> {
@Override
protected Integer doInBackground(List<TrainingBlogPost>... posts) {
appDatabase.dbDao().deleteTrainingBlogPosts();
appDatabase.dbDao().insertTrainingBlogPosts(posts[0]);
return 1;
}
}
private class showTrainingBlogFromDB extends AsyncTask<String, Void, List<TrainingBlogPost>> {
@Override
protected List<TrainingBlogPost> doInBackground(String... posts) {
return appDatabase.dbDao().getAllTrainingBlogPosts();
}
protected void onPostExecute(List<TrainingBlogPost> result) {
if (!freshBlogDisplayed) {
displayTrainingFeed(result);
}
}
}
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
inflater.inflate(R.menu.search_view_menu, menu);
......@@ -214,7 +192,7 @@ public class TrainingBlogFragment extends BaseFragment {
@Override
public boolean onQueryTextChange(String newText) {
if (TextUtils.isEmpty(newText)){
if (TextUtils.isEmpty(newText)) {
//Text is cleared, do your thing
searchQuery = null;
updateTrainingFeed();
......@@ -234,4 +212,26 @@ public class TrainingBlogFragment extends BaseFragment {
updateTrainingFeed();
showLoader = false;
}
private class updateDatabase extends AsyncTask<List<TrainingBlogPost>, Void, Integer> {
@Override
protected Integer doInBackground(List<TrainingBlogPost>... posts) {
appDatabase.dbDao().deleteTrainingBlogPosts();
appDatabase.dbDao().insertTrainingBlogPosts(posts[0]);
return 1;
}
}
private class showTrainingBlogFromDB extends AsyncTask<String, Void, List<TrainingBlogPost>> {
@Override
protected List<TrainingBlogPost> doInBackground(String... posts) {
return appDatabase.dbDao().getAllTrainingBlogPosts();
}
protected void onPostExecute(List<TrainingBlogPost> result) {
if (!freshBlogDisplayed) {
displayTrainingFeed(result);
}
}
}
}
......@@ -16,9 +16,9 @@ import java.util.List;
import java.util.concurrent.TimeUnit;
import app.insti.Constants;
import app.insti.activity.MainActivity;
import app.insti.R;
import app.insti.SessionManager;
import app.insti.activity.MainActivity;
import app.insti.api.RetrofitInterface;
import app.insti.api.ServiceGenerator;
import app.insti.data.Event;
......@@ -29,11 +29,11 @@ import retrofit2.Response;
public class NotificationIntentService extends JobIntentService {
public static final String ACTION_OPEN_EVENT = "ACTION_OPEN_EVENT";
private static final String ACTION_START = "ACTION_START";
private static final String ACTION_DELETE = "ACTION_DELETE";
private static final String ACTION_NAVIGATE = "ACTION_NAVIGATE";
private static final String ACTION_NOT_GOING = "ACTION_NOT_GOING";
public static final String ACTION_OPEN_EVENT = "ACTION_OPEN_EVENT";
private static int NOTIFICATION_ID = 1;
private NotificationManager manager;
......@@ -97,7 +97,8 @@ public class NotificationIntentService extends JobIntentService {
Intent mapIntent = new Intent(Intent.ACTION_VIEW, gmmIntentUri);
startActivity(mapIntent);
}
} finally { }
} finally {
}
}
private void processDeleteNotification(Intent intent) {
......
......@@ -20,111 +20,111 @@ import app.insti.fragment.MapFragment;
public class ExpandableListAdapter extends BaseExpandableListAdapter {
private Context _context;
private List<String> _listDataHeader;
private HashMap<String, List<String>> _listDataChild;
public ExpandableListAdapter(Context context, List<String> listDataHeader,
HashMap<String, List<String>> listChildData) {
this._context = context;
this._listDataHeader = listDataHeader;
this._listDataChild = listChildData;
}
@Override
public Object getChild(int groupPosition, int childPosititon) {
return this._listDataChild.get(this._listDataHeader.get(groupPosition))
.get(childPosititon);
}
@Override
public long getChildId(int groupPosition, int childPosition) {
return childPosition;
}
@Override
public View getChildView(int groupPosition, final int childPosition,
boolean isLastChild, View convertView, ViewGroup parent) {
String headerTitle = (String) getGroup(groupPosition);
final String childText = (String) getChild(groupPosition, childPosition);
if (convertView == null) {
LayoutInflater infalInflater = (LayoutInflater) this._context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = infalInflater.inflate(R.layout.map_list_item, null);
}
TextView txtListChild = (TextView) convertView
.findViewById(R.id.lblListItem);
View itemGroupColor = (View) convertView.findViewById(R.id.item_group_color);
int color = Marker.getColor(Marker.getGroupId(headerTitle));
itemGroupColor.setBackgroundColor(color);
Typeface regular = Typeface.createFromAsset(_context.getAssets(), MapFragment.FONT_REGULAR);
txtListChild.setTypeface(regular);
txtListChild.setText(childText);
return convertView;
}
@Override
public int getChildrenCount(int groupPosition) {
return this._listDataChild.get(this._listDataHeader.get(groupPosition))
.size();
}
@Override
public Object getGroup(int groupPosition) {
return this._listDataHeader.get(groupPosition);
}
@Override
public int getGroupCount() {
return this._listDataHeader.size();
}
@Override
public long getGroupId(int groupPosition) {
return groupPosition;
}
@Override
public View getGroupView(int groupPosition, boolean isExpanded,
View convertView, ViewGroup parent) {
String headerTitle = (String) getGroup(groupPosition);
if (convertView == null) {
LayoutInflater infalInflater = (LayoutInflater) this._context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = infalInflater.inflate(
R.layout.map_expandable_list_header, null);
}
TextView lblListHeader = (TextView) convertView
.findViewById(R.id.lblListHeader);
Typeface regular = Typeface.createFromAsset(_context.getAssets(), MapFragment.FONT_REGULAR);
lblListHeader.setTypeface(regular);
lblListHeader.setText(headerTitle);
ImageView iconExpand = (ImageView) convertView
.findViewById(R.id.icon_expand);
ImageView groupColor = (ImageView) convertView.findViewById(R.id.group_color);
int color = Marker.getColor(Marker.getGroupId(headerTitle));
groupColor.setImageDrawable(new ColorDrawable(color));
if (isExpanded) {
iconExpand.setImageResource(R.drawable.ic_action_expand);
} else {
iconExpand.setImageResource(R.drawable.ic_action_next_item);
}
return convertView;
}
@Override
public boolean hasStableIds() {
return false;
}
@Override
public boolean isChildSelectable(int groupPosition, int childPosition) {
return true;
}
private Context _context;
private List<String> _listDataHeader;
private HashMap<String, List<String>> _listDataChild;
public ExpandableListAdapter(Context context, List<String> listDataHeader,
HashMap<String, List<String>> listChildData) {
this._context = context;
this._listDataHeader = listDataHeader;
this._listDataChild = listChildData;
}
@Override
public Object getChild(int groupPosition, int childPosititon) {
return this._listDataChild.get(this._listDataHeader.get(groupPosition))
.get(childPosititon);
}
@Override
public long getChildId(int groupPosition, int childPosition) {
return childPosition;
}
@Override
public View getChildView(int groupPosition, final int childPosition,
boolean isLastChild, View convertView, ViewGroup parent) {
String headerTitle = (String) getGroup(groupPosition);
final String childText = (String) getChild(groupPosition, childPosition);
if (convertView == null) {
LayoutInflater infalInflater = (LayoutInflater) this._context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = infalInflater.inflate(R.layout.map_list_item, null);
}
TextView txtListChild = (TextView) convertView
.findViewById(R.id.lblListItem);
View itemGroupColor = (View) convertView.findViewById(R.id.item_group_color);
int color = Marker.getColor(Marker.getGroupId(headerTitle));
itemGroupColor.setBackgroundColor(color);
Typeface regular = Typeface.createFromAsset(_context.getAssets(), MapFragment.FONT_REGULAR);
txtListChild.setTypeface(regular);
txtListChild.setText(childText);
return convertView;
}
@Override
public int getChildrenCount(int groupPosition) {
return this._listDataChild.get(this._listDataHeader.get(groupPosition))
.size();
}
@Override
public Object getGroup(int groupPosition) {
return this._listDataHeader.get(groupPosition);
}
@Override
public int getGroupCount() {
return this._listDataHeader.size();
}
@Override
public long getGroupId(int groupPosition) {
return groupPosition;
}
@Override
public View getGroupView(int groupPosition, boolean isExpanded,
View convertView, ViewGroup parent) {
String headerTitle = (String) getGroup(groupPosition);
if (convertView == null) {
LayoutInflater infalInflater = (LayoutInflater) this._context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = infalInflater.inflate(
R.layout.map_expandable_list_header, null);
}
TextView lblListHeader = (TextView) convertView
.findViewById(R.id.lblListHeader);
Typeface regular = Typeface.createFromAsset(_context.getAssets(), MapFragment.FONT_REGULAR);
lblListHeader.setTypeface(regular);
lblListHeader.setText(headerTitle);
ImageView iconExpand = (ImageView) convertView
.findViewById(R.id.icon_expand);
ImageView groupColor = (ImageView) convertView.findViewById(R.id.group_color);
int color = Marker.getColor(Marker.getGroupId(headerTitle));
groupColor.setImageDrawable(new ColorDrawable(color));
if (isExpanded) {
iconExpand.setImageResource(R.drawable.ic_action_expand);
} else {
iconExpand.setImageResource(R.drawable.ic_action_next_item);
}
return convertView;
}
@Override
public boolean hasStableIds() {
return false;
}
@Override
public boolean isChildSelectable(int groupPosition, int childPosition) {
return true;
}
}
......@@ -16,27 +16,27 @@ import app.insti.fragment.MapFragment;
public class ListFragment extends Fragment {
MapFragment mainActivity;
FuzzySearchAdapter adapter;
HashMap<String, Marker> data;
View rootView;
ListView list;
public ListFragment() {
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
mainActivity = MapFragment.getMainActivity();
adapter = mainActivity.getAdapter();
rootView = inflater.inflate(R.layout.map_list_fragment, container, false);
list = (ListView) rootView.findViewById(R.id.suggestion_list);
list.setAdapter(adapter);
list.setOnItemClickListener(mainActivity);
list.setOnTouchListener(mainActivity);
list.setFastScrollEnabled(true);
return rootView;
}
MapFragment mainActivity;
FuzzySearchAdapter adapter;
HashMap<String, Marker> data;
View rootView;
ListView list;
public ListFragment() {
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
mainActivity = MapFragment.getMainActivity();
adapter = mainActivity.getAdapter();
rootView = inflater.inflate(R.layout.map_list_fragment, container, false);
list = (ListView) rootView.findViewById(R.id.suggestion_list);
list.setAdapter(adapter);
list.setOnItemClickListener(mainActivity);
list.setOnTouchListener(mainActivity);
list.setFastScrollEnabled(true);
return rootView;
}
}
......@@ -6,43 +6,41 @@ import android.content.SharedPreferences.OnSharedPreferenceChangeListener;
import android.content.res.Resources;
import android.preference.PreferenceManager;
import app.insti.R;
public class SettingsManager implements OnSharedPreferenceChangeListener{
private SharedPreferences sharedPrefs;
private String muteKey;
private String residencesKey;
private String lastUpdatedKey;
public SettingsManager(Context context){
sharedPrefs = PreferenceManager.getDefaultSharedPreferences(context);
sharedPrefs.registerOnSharedPreferenceChangeListener(this);
Resources res = context.getResources();
muteKey = "mute";
residencesKey = "residences";
lastUpdatedKey = "lastupdated";
}
public boolean isMuted(){
return sharedPrefs.getBoolean(muteKey, false);
}
public boolean showResidences(){
return sharedPrefs.getBoolean(residencesKey, true);
}
public class SettingsManager implements OnSharedPreferenceChangeListener {
private SharedPreferences sharedPrefs;
private String muteKey;
private String residencesKey;
private String lastUpdatedKey;
public SettingsManager(Context context) {
sharedPrefs = PreferenceManager.getDefaultSharedPreferences(context);
sharedPrefs.registerOnSharedPreferenceChangeListener(this);
Resources res = context.getResources();
muteKey = "mute";
residencesKey = "residences";
lastUpdatedKey = "lastupdated";
}
public boolean isMuted() {
return sharedPrefs.getBoolean(muteKey, false);
}
public boolean showResidences() {
return sharedPrefs.getBoolean(residencesKey, true);
}
public long getLastUpdatedOn() {
return sharedPrefs.getLong(lastUpdatedKey, 0);
}
return sharedPrefs.getLong(lastUpdatedKey, 0);
}
public void setLastUpdatedOn(long lastUpdatedOn) {
sharedPrefs.edit().putLong(lastUpdatedKey, lastUpdatedOn).commit();
}
public void setLastUpdatedOn(long lastUpdatedOn) {
sharedPrefs.edit().putLong(lastUpdatedKey, lastUpdatedOn).commit();
}
@Override
public void onSharedPreferenceChanged(SharedPreferences prefs, String key) {
@Override
public void onSharedPreferenceChanged(SharedPreferences prefs, String key) {
}
}
}
package com.mrane.data;
public class Building extends Marker {
public String[] children;
public Building(String name, String shortName, float x, float y,
int groupIndex, String[] children, String description) {
super(name, shortName, x, y, groupIndex, description);
this.children = children;
}
public String[] children;
public String[] getChildren() {
return children;
}
public Building(String name, String shortName, float x, float y,
int groupIndex, String[] children, String description) {
super(name, shortName, x, y, groupIndex, description);
this.children = children;
}
public void setChildren(String[] children) {
this.children = children;
}
public String[] getChildren() {
return children;
}
public void setChildren(String[] children) {
this.children = children;
}
}
......@@ -7,9 +7,9 @@ import java.util.List;
import app.insti.data.Venue;
public class Locations {
public HashMap<String, Marker> data = new HashMap<String, Marker>();
public HashMap<String, Marker> data = new HashMap<String, Marker>();
public Locations(List<Venue> venueList) {
public Locations(List<Venue> venueList) {
// Add locations
for (Venue venue : venueList) {
Marker marker;
......
package com.mrane.data;
public class Room extends Marker {
public String parentKey;
public String tag;
public String parentKey;
public String tag;
public Room(String fullName, String shortName, float x, float y,
int groupId, String parentName, String tag, String desc) {
super(fullName, shortName, x, y, groupId, desc);
this.tag = tag;
this.parentKey = parentName;
}
public Room(String fullName, String shortName, float x, float y,
int groupId, String parentName, String tag, String desc) {
super(fullName, shortName, x, y, groupId, desc);
this.tag = tag;
this.parentKey = parentName;
}
}
......@@ -7,39 +7,38 @@ import android.view.View;
import android.view.ViewGroup;
import android.view.animation.Interpolator;
import com.mrane.navigation.SlidingUpPanelLayout.PanelSlideListener;
import app.insti.R;
import app.insti.fragment.MapFragment;
import com.mrane.navigation.SlidingUpPanelLayout.PanelSlideListener;
public class CardSlideListener implements PanelSlideListener,
ValueAnimator.AnimatorUpdateListener {
private MapFragment mainActivity;
private SlidingUpPanelLayout slidingLayout;
private EndDetectScrollView scrollView;
private ValueAnimator animator;
private static final long TIME_ANIMATION_SHOW = 250;
public CardSlideListener(MapFragment mainActivity) {
this.mainActivity = mainActivity;
slidingLayout = mainActivity.getSlidingLayout();
scrollView = (EndDetectScrollView) mainActivity.getActivity()
.findViewById(R.id.new_expanded_place_card_scroll);
animator = new ValueAnimator();
animator.addUpdateListener(this);
Interpolator i = new Interpolator() {
public float getInterpolation(float t) {
t -= 1.0f;
return t * t * t * t * t + 1.0f;
}
};
animator.setInterpolator(i);
}
@Override
public void onPanelSlide(View panel, float slideOffset) {
ValueAnimator.AnimatorUpdateListener {
private static final long TIME_ANIMATION_SHOW = 250;
private MapFragment mainActivity;
private SlidingUpPanelLayout slidingLayout;
private EndDetectScrollView scrollView;
private ValueAnimator animator;
public CardSlideListener(MapFragment mainActivity) {
this.mainActivity = mainActivity;
slidingLayout = mainActivity.getSlidingLayout();
scrollView = (EndDetectScrollView) mainActivity.getActivity()
.findViewById(R.id.new_expanded_place_card_scroll);
animator = new ValueAnimator();
animator.addUpdateListener(this);
Interpolator i = new Interpolator() {
public float getInterpolation(float t) {
t -= 1.0f;
return t * t * t * t * t + 1.0f;
}
};
animator.setInterpolator(i);
}
@Override
public void onPanelSlide(View panel, float slideOffset) {
// setActionBarTranslation(slidingLayout.getCurrentParalaxOffset());
// if(slideOffset >= slidingLayout.getAnchorPoint()){
// mainActivity.getSupportActionBar().hide();
......@@ -47,73 +46,73 @@ public class CardSlideListener implements PanelSlideListener,
// else{
// mainActivity.getSupportActionBar().show();
// }
}
}
@Override
public void onPanelCollapsed(View panel) {
}
@Override
public void onPanelCollapsed(View panel) {
}
@Override
public void onPanelExpanded(View panel) {
scrollView.requestDisallowInterceptTouchEvent(false);
scrollView.setScrollingEnabled(true);
@Override
public void onPanelExpanded(View panel) {
scrollView.requestDisallowInterceptTouchEvent(false);
scrollView.setScrollingEnabled(true);
}
@Override
public void onPanelAnchored(View panel) {
scrollView.requestDisallowInterceptTouchEvent(true);
scrollView.setScrollingEnabled(false);
@Override
public void onPanelAnchored(View panel) {
scrollView.requestDisallowInterceptTouchEvent(true);
scrollView.setScrollingEnabled(false);
}
@Override
public void onPanelHidden(View panel) {
}
@TargetApi(Build.VERSION_CODES.HONEYCOMB)
public void setActionBarTranslation(float y) {
// Figure out the actionbar height
int actionBarHeight = 20;
// A hack to add the translation to the action bar
ViewGroup content = ((ViewGroup) mainActivity.getActivity().findViewById(
android.R.id.content).getParent());
int children = content.getChildCount();
for (int i = 0; i < children; i++) {
View child = content.getChildAt(i);
if (child.getId() != android.R.id.content) {
if (y <= -actionBarHeight) {
child.setVisibility(View.GONE);
} else {
child.setVisibility(View.VISIBLE);
child.setTranslationY(y);
}
}
}
}
public void dismissCard() {
animator.cancel();
int initialPanelHeight = slidingLayout.getPanelHeight();
int finalPanelHeight = 0;
animator.setIntValues(initialPanelHeight, finalPanelHeight);
animator.setDuration(TIME_ANIMATION_SHOW);
animator.start();
}
public void showCard() {
animator.cancel();
int initialPanelHeight = slidingLayout.getPanelHeight();
int finalPanelHeight = mainActivity.getResources()
.getDimensionPixelSize(R.dimen.hidden_card_height);
animator.setIntValues(initialPanelHeight, finalPanelHeight);
animator.setDuration(TIME_ANIMATION_SHOW);
animator.start();
}
@Override
public void onAnimationUpdate(ValueAnimator animator) {
int panelHeight = (Integer) animator.getAnimatedValue();
slidingLayout.setPanelHeight(panelHeight);
}
@Override
public void onPanelHidden(View panel) {
}
@TargetApi(Build.VERSION_CODES.HONEYCOMB)
public void setActionBarTranslation(float y) {
// Figure out the actionbar height
int actionBarHeight = 20;
// A hack to add the translation to the action bar
ViewGroup content = ((ViewGroup) mainActivity.getActivity().findViewById(
android.R.id.content).getParent());
int children = content.getChildCount();
for (int i = 0; i < children; i++) {
View child = content.getChildAt(i);
if (child.getId() != android.R.id.content) {
if (y <= -actionBarHeight) {
child.setVisibility(View.GONE);
} else {
child.setVisibility(View.VISIBLE);
child.setTranslationY(y);
}
}
}
}
public void dismissCard() {
animator.cancel();
int initialPanelHeight = slidingLayout.getPanelHeight();
int finalPanelHeight = 0;
animator.setIntValues(initialPanelHeight, finalPanelHeight);
animator.setDuration(TIME_ANIMATION_SHOW);
animator.start();
}
public void showCard() {
animator.cancel();
int initialPanelHeight = slidingLayout.getPanelHeight();
int finalPanelHeight = mainActivity.getResources()
.getDimensionPixelSize(R.dimen.hidden_card_height);
animator.setIntValues(initialPanelHeight, finalPanelHeight);
animator.setDuration(TIME_ANIMATION_SHOW);
animator.start();
}
@Override
public void onAnimationUpdate(ValueAnimator animator) {
int panelHeight = (Integer) animator.getAnimatedValue();
slidingLayout.setPanelHeight(panelHeight);
}
}
......@@ -8,105 +8,103 @@ import android.widget.ScrollView;
public class EndDetectScrollView extends ScrollView {
private enum ScrollState {
TOP, BETWEEN, BOTTOM
}
private ScrollState mCurrState = ScrollState.TOP;
private boolean scrollable = true;
public interface ScrollEndListener {
public void onScrollHitBottom();
public void onScrollHitTop();
public void onScrollInBetween();
}
private ScrollEndListener listener;
public EndDetectScrollView(Context context) {
super(context);
// TODO Auto-generated constructor stub
}
public EndDetectScrollView(Context context, AttributeSet attrs) {
super(context, attrs);
// TODO Auto-generated constructor stub
}
public EndDetectScrollView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
// TODO Auto-generated constructor stub
}
public void setScrollEndListener(ScrollEndListener l) {
listener = l;
}
@Override
protected void onScrollChanged(int l, int t, int oldl, int oldt) {
View bottomChild = (View) getChildAt(getChildCount() - 1);
int bottomDiff = (bottomChild.getBottom() - (getHeight() + getScrollY() + bottomChild
.getTop()));// Calculate the scrolldiff
if (getScrollY() == 0) { // if scrollY==0 top has been reached
if (listener != null)
listener.onScrollHitTop();
mCurrState = ScrollState.TOP;
} else if (bottomDiff == 0) {
if (listener != null)
listener.onScrollHitBottom();
mCurrState = ScrollState.BOTTOM;
} else {
if (listener != null)
listener.onScrollInBetween();
mCurrState = ScrollState.BETWEEN;
}
super.onScrollChanged(l, t, oldl, oldt);
}
public boolean isAtTop() {
return mCurrState == ScrollState.TOP;
}
public boolean isAtBottom() {
return mCurrState == ScrollState.BOTTOM;
}
public boolean isInBetween() {
return mCurrState == ScrollState.BETWEEN;
}
public void setScrollingEnabled(boolean scrollable) {
this.scrollable = scrollable;
}
public boolean isScrollable() {
return scrollable;
}
@Override
public boolean onTouchEvent(MotionEvent ev) {
switch (ev.getAction()) {
case MotionEvent.ACTION_DOWN:
// if we can scroll pass the event to the superclass
if (scrollable)
return super.onTouchEvent(ev);
// only continue to handle the touch event if scrolling enabled
return scrollable; // scrollable is always false at this point
default:
return super.onTouchEvent(ev);
}
}
@Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
// Don't do anything with intercepted touch events if
// we are not scrollable
if (!scrollable)
return false;
else
return super.onInterceptTouchEvent(ev);
}
private ScrollState mCurrState = ScrollState.TOP;
private boolean scrollable = true;
private ScrollEndListener listener;
public EndDetectScrollView(Context context) {
super(context);
// TODO Auto-generated constructor stub
}
public EndDetectScrollView(Context context, AttributeSet attrs) {
super(context, attrs);
// TODO Auto-generated constructor stub
}
public EndDetectScrollView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
// TODO Auto-generated constructor stub
}
public void setScrollEndListener(ScrollEndListener l) {
listener = l;
}
@Override
protected void onScrollChanged(int l, int t, int oldl, int oldt) {
View bottomChild = (View) getChildAt(getChildCount() - 1);
int bottomDiff = (bottomChild.getBottom() - (getHeight() + getScrollY() + bottomChild
.getTop()));// Calculate the scrolldiff
if (getScrollY() == 0) { // if scrollY==0 top has been reached
if (listener != null)
listener.onScrollHitTop();
mCurrState = ScrollState.TOP;
} else if (bottomDiff == 0) {
if (listener != null)
listener.onScrollHitBottom();
mCurrState = ScrollState.BOTTOM;
} else {
if (listener != null)
listener.onScrollInBetween();
mCurrState = ScrollState.BETWEEN;
}
super.onScrollChanged(l, t, oldl, oldt);
}
public boolean isAtTop() {
return mCurrState == ScrollState.TOP;
}
public boolean isAtBottom() {
return mCurrState == ScrollState.BOTTOM;
}
public boolean isInBetween() {
return mCurrState == ScrollState.BETWEEN;
}
public void setScrollingEnabled(boolean scrollable) {
this.scrollable = scrollable;
}
public boolean isScrollable() {
return scrollable;
}
@Override
public boolean onTouchEvent(MotionEvent ev) {
switch (ev.getAction()) {
case MotionEvent.ACTION_DOWN:
// if we can scroll pass the event to the superclass
if (scrollable)
return super.onTouchEvent(ev);
// only continue to handle the touch event if scrolling enabled
return scrollable; // scrollable is always false at this point
default:
return super.onTouchEvent(ev);
}
}
@Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
// Don't do anything with intercepted touch events if
// we are not scrollable
if (!scrollable)
return false;
else
return super.onInterceptTouchEvent(ev);
}
private enum ScrollState {
TOP, BETWEEN, BOTTOM
}
public interface ScrollEndListener {
public void onScrollHitBottom();
public void onScrollHitTop();
public void onScrollInBetween();
}
}
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
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