Skip to content

Instantly share code, notes, and snippets.

View mohsin's full-sized avatar

Saifur Rahman Mohsin mohsin

View GitHub Profile
@mohsin
mohsin / ListViewUtils.java
Last active August 24, 2018 04:56
setListViewHeightBasedOnChildren fix for TwoLineListItem
public static void setListViewHeightBasedOnChildren(ListView listView)
{
ListAdapter listAdapter = listView.getAdapter();
if(listAdapter == null) return;
if(listAdapter.getCount() <= 1) return;
int desiredWidth = MeasureSpec.makeMeasureSpec(listView.getWidth(), MeasureSpec.AT_MOST);
int totalHeight = 0;
View view = null;
for(int i = 0; i < listAdapter.getCount(); i++)
@mohsin
mohsin / StringUtils.java
Last active April 11, 2021 13:40
Function to convert Android menu.xml into string array for use in ArrayAdapter for NavigationDrawer
import android.view.Menu;
import android.view.MenuInflater;
import android.content.Context;
import android.support.v7.view.menu.MenuBuilder;
public class StringUtils {
/*
* Usage: String[] mMenuItems = StringUtils.getArrayFromMenu(this, R.menu.menu_main);
* And then mDrawerList.setAdapter(new ArrayAdapter<>(this, R.layout.item_listview_drawer, mMenuItems));
@mohsin
mohsin / AES-256-CBC-keygen.php
Created October 20, 2016 13:25
Random secret generator for AES-256-CBC
//JS Version
var charSet = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789',
randomString = ''
for (var i = 0; i < length; i++) {
var randomPos = Math.floor(Math.random() * charSet.length)
randomString += charSet.substring(randomPos, randomPos + 1)
}
return randomString
@mohsin
mohsin / pre-push
Created November 30, 2016 08:47
Plugin public-private repo issue solution
#!/bin/sh
remote="$1"
url="$2"
message=$(git log -1 HEAD --pretty=format:%s)
public_repo="/Users/Moz/Desktop/public"
[ -d lang ] && yes | cp -rf lang/* $public_repo/lang
[ -d updates ] && yes | cp -rf updates/* $public_repo/updates
cd $public_repo
@mohsin
mohsin / steps.txt
Last active July 26, 2017 06:57
How to Setup OctoberCMS with Heroku
// Install heroku toolbelt
Moz at Saifurs-MacBook-Pro in ~/Desktop
$ brew install heroku
==> Downloading http://assets.heroku.com.s3.amazonaws.com/heroku-client/heroku-c
######################################################################## 100.0%
/usr/local/Cellar/heroku-toolbelt/3.21.4: 449 files, 3.5M, built in 17 seconds
// Create an app
@mohsin
mohsin / _dropdown.htm
Created December 30, 2016 09:08
The Dropdown partial file
<div class="dropdown dropdown-fixed">
<button
id="parentDropdown"
type="button"
class="btn btn-default oc-icon-mobile"
data-toggle="dropdown">
<?php echo $variants[$this -> variant_id] ?> <?php if (count($variants) > 1): ?><span class="caret"><?php endif ?>
</button>
<?php if (count($variants) > 1): ?>
<ul class="dropdown-menu" role="menu" data-dropdown-title="Select variant">
@mohsin
mohsin / _list_toolbar.htm
Created December 30, 2016 09:09
The toolbar partial
<div class="control-toolbar">
<?php if (count($variants) == 0): ?>
<div class="toolbar-item callout fade in callout-danger">
<div class="form-control content" style="padding: 10px 20px 10px;">
<p>You must create at least one app with one variant to see values in this section.</p>
</div>
</div>
<?php else: ?>
<div class="toolbar-item toolbar-primary">
<div id="dropdown-variant" data-control="toolbar">
@mohsin
mohsin / Installs.php
Created December 30, 2016 09:11
The Controller
<?php namespace Mohsin\Mobile\Controllers;
use Cookie;
use BackendMenu;
use Backend\Classes\Controller;
use Mohsin\Mobile\Models\Variant;
/**
* Installs Back-end Controller
*/
@mohsin
mohsin / InrSimplifier.java
Created May 10, 2017 12:26
Java Class to convert a number to a short-format indian currency representation
import java.util.*;
import java.util.Map.*;
import java.text.DecimalFormat;
/**
* Makes a longer number shorter like cr., lac, etc.
* Output: 500, 4k, 30k, 99k, 2lac, 9.9lac, 40lac, 99lac, 1.9Cr., 20Cr., 100Cr., 214Cr
* Limitation: Works from zero to the longest int or as Indians call, the Mallya limit.
*/
@mohsin
mohsin / gist:fd4f0880072adf976f8998cbbde61bde
Created May 26, 2017 09:35
Hotel Empire Restaurant List. When I was at my friend’s place I had to scrape it off to figure out the closest area where I wanted food to be delivered. The app has no GPS detection feature, what a piece of crap.
<option class="ajax-area-search-li form-control" value="1" outlet_id="8" area_name="ASHOK NAGAR" area_id="1">AS
HOK NAGAR</option>
<option class="ajax-area-search-li form-control" value="2" outlet_id="8" area_name="AUSTIN TOWN" area_id="2">AU
STIN TOWN</option>
<option class="ajax-area-search-li form-control" value="3" outlet_id="8" area_name="BASAPPA ROAD" area_id="3">BA
SAPPA ROAD</option>
<option class="ajax-area-search-li form-control" value="5" outlet_id="8" area_name="BRIGADE ROAD" area_id="5">BR