package com.garethevans.church.opensongtablet;
import android.os.Handler;
import android.support.v4.widget.DrawerLayout;
import android.widget.ExpandableListView;
import android.widget.LinearLayout;
public class DrawerTweaks {
static Handler songMenuFlickClosed = new Handler();
static Handler optionMenuFlickClosed = new Handler();
public static DrawerLayout.LayoutParams resizeMenu (LinearLayout thismenu, int width) {
DrawerLayout.LayoutParams lp = (DrawerLayout.LayoutParams) thismenu.getLayoutParams();
lp.width = width;
return lp;
}
public static void openMyDrawers(DrawerLayout drawer,
LinearLayout song,
LinearLayout option,
String which) {
switch (which) {
case "both":
drawer.openDrawer(song);
drawer.openDrawer(option);
break;
case "song":
drawer.openDrawer(song);
break;
case "option":
drawer.openDrawer(option);
break;
case "unlocked":
drawer.setDrawerLockMode(DrawerLayout.LOCK_MODE_UNLOCKED);
drawer.openDrawer(song);
drawer.openDrawer(option);
closeMyDrawers(drawer,song,option,"song_delayed");
closeMyDrawers(drawer,song,option,"option_delayed");
break;
case "song_toggle":
if (drawer.isDrawerOpen(song)) {
drawer.closeDrawer(song);
} else {
drawer.openDrawer(song);
}
break;
case "option_toggle":
if (drawer.isDrawerOpen(option)) {
drawer.closeDrawer(option);
} else {
drawer.openDrawer(option);
}
break;
}
}
public static void openMyDrawersFS(DrawerLayout drawer,
LinearLayout song,
ExpandableListView option,
String which) {
switch (which) {
case "both":
drawer.openDrawer(song);
drawer.openDrawer(option);
break;
case "song":
drawer.openDrawer(song);
break;
case "option":
drawer.openDrawer(option);
break;
case "unlocked":
drawer.setDrawerLockMode(DrawerLayout.LOCK_MODE_UNLOCKED);
drawer.openDrawer(song);
drawer.openDrawer(option);
closeMyDrawersFS(drawer,song,option,"song_delayed");
closeMyDrawersFS(drawer,song,option,"option_delayed");
break;
case "song_toggle":
if (drawer.isDrawerOpen(song)) {
drawer.closeDrawer(song);
} else {
drawer.openDrawer(song);
}
break;
case "option_toggle":
if (drawer.isDrawerOpen(option)) {
drawer.closeDrawer(option);
} else {
drawer.openDrawer(option);
}
break;
}
}
public static void closeMyDrawers(final DrawerLayout drawer,
final LinearLayout song,
final LinearLayout option,
String which) {
switch (which) {
case "both":
drawer.closeDrawer(song);
drawer.closeDrawer(option);
break;
case "song":
drawer.closeDrawer(song);
break;
case "option":
drawer.closeDrawer(option);
break;
case "option_delayed":
optionMenuFlickClosed.postDelayed(new Runnable() {
@Override
public void run() {
drawer.closeDrawer(option);
}
}, 1000);
break;
case "song_delayed":
songMenuFlickClosed.postDelayed(new Runnable() {
@Override
public void run() {
drawer.closeDrawer(song);
}
}, 1000);
break;
case "locked":
drawer.closeDrawer(song);
drawer.closeDrawer(option);
drawer.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED);
}
}
public static void closeMyDrawersFS(final DrawerLayout drawer,
final LinearLayout song,
final ExpandableListView option,
String which) {
switch (which) {
case "both":
drawer.closeDrawer(song);
drawer.closeDrawer(option);
break;
case "song":
drawer.closeDrawer(song);
break;
case "option":
drawer.closeDrawer(option);
break;
case "option_delayed":
optionMenuFlickClosed.postDelayed(new Runnable() {
@Override
public void run() {
drawer.closeDrawer(option);
}
}, 1000);
break;
case "song_delayed":
songMenuFlickClosed.postDelayed(new Runnable() {
@Override
public void run() {
drawer.closeDrawer(song);
}
}, 1000);
break;
case "locked":
drawer.closeDrawer(song);
drawer.closeDrawer(option);
drawer.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED);
}
}
}