$ svn log --xml | grep author | sort -u | perl -pe 's/.>(.?)<./$1 = /'
手动设置对应关系 users.txt
from xml.etree import ElementTree as ET | |
import glob | |
import sys | |
import os | |
class ManifestMerger(object): | |
def __init__(self, app_manifest, filenames): | |
assert len(filenames) > 0, 'No filenames!' | |
ET.register_namespace("android", "http://schemas.android.com/apk/res/android") | |
print app_manifest |
function dex-method-count() { | |
cat $1 | head -c 92 | tail -c 4 | hexdump -e '1/4 "%d\n"' | |
} | |
function dex-method-count-by-package() { | |
dir=$(mktemp -d -t dex) | |
baksmali $1 -o $dir | |
for pkg in `find $dir/* -type d`; do | |
smali $pkg -o $pkg/classes.dex | |
count=$(dex-method-count $pkg/classes.dex) | |
name=$(echo ${pkg:(${#dir} + 1)} | tr '/' '.') |
public class RSAEncrypt { | |
private static final String DEFAULT_PUBLIC_KEY= | |
"MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQChDzcjw/rWgFwnxunbKp7/4e8w" + "\r" + | |
"/UmXx2jk6qEEn69t6N2R1i/LmcyDT1xr/T2AHGOiXNQ5V8W4iCaaeNawi7aJaRht" + "\r" + | |
"Vx1uOH/2U378fscEESEG8XDqll0GCfB1/TjKI2aitVSzXOtRs8kYgGU78f7VmDNg" + "\r" + | |
"XIlk3gdhnzh+uoEQywIDAQAB" + "\r"; | |
private static final String DEFAULT_PRIVATE_KEY= | |
"MIICdQIBADANBgkqhkiG9w0BAQEFAASCAl8wggJbAgEAAoGBAKEPNyPD+taAXCfG" + "\r" + |
//java code | |
public class MainActivity extends Activity { | |
private WebView webView; | |
private static final String TAG = "MainActivity"; | |
@Override | |
protected void onCreate(Bundle savedInstanceState) { | |
super.onCreate(savedInstanceState); | |
setContentView(R.layout.activity_main); | |
this.webView = (WebView) findViewById(R.id.webview); |
//http://en.wikipedia.org/wiki/Base64#URL_applications | |
//http://stackoverflow.com/questions/11106393/url-safe-base64-in-objective-c | |
//http://stackoverflow.com/questions/10812140/facebook-signed-request-for-ios-hmac-sha256 | |
public class RequestMaker { | |
private static final String KEY = "testkey"; | |
private static final int BASE64_FLAG = Base64.URL_SAFE | Base64.NO_WRAP | Base64.NO_PADDING | Base64.NO_CLOSE; | |
public RequestMaker() { | |
} | |
public String getRequestPayload(String token, String user_id, String expires) { |
private enum UriType { | |
DEPARTMENT( "#/" + DB_Department.TABLE_NAME , DB_Department.TABLE_NAME, DB_Department.TYPE_ELEM_TYPE), | |
COLLEGUE("#/" + DB_Collegue.TABLE_NAME, DB_Collegue.TABLE_NAME, DB_Collegue.TYPE_ELEM_TYPE), | |
COLLEGUE_RELATION("#/" + DB_Collegue_relation.TABLE_NAME, DB_Collegue_relation.TABLE_NAME, DB_Collegue_relation.TYPE_ELEM_TYPE), | |
DEPARTMENT_RELATION("#/" + DB_Department_relation.TABLE_NAME, DB_Department_relation.TABLE_NAME, DB_Department_relation.TYPE_ELEM_TYPE), | |
DEPARTMENT_UIN( "#/" + DB_Department.TABLE_NAME + "/UIN/#", DB_Department.TABLE_NAME, DB_Department.TYPE_ELEM_TYPE), | |
COLLEGUE_CorpUIN("#/" + DB_Collegue.TABLE_NAME + "/UIN/#", DB_Collegue.TABLE_NAME, DB_Collegue.TYPE_ELEM_TYPE), | |
COLLEGUE_RELATION_UIN("#/" + DB_Collegue_relation.TABLE_NAME + "/UIN/#", DB_Collegue_relation.TABLE_NAME, DB_Collegue_relation.TYPE_ELEM_TYPE), | |
DEPARTMENT_RELATION_CorpUIN("#/" + DB_Department_relation.TABLE_NAME + "/UIN/#", DB_Department_relation.TABLE_NAME, DB_De |
class Singleton(type): | |
def __init__(cls, name, bases, dict): | |
super(Singleton, cls).__init__(name, bases, dict) | |
cls.instance = None | |
def __call__(cls, *args, **kw): | |
if cls.instance is None: | |
cls.instance = super(Singleton, cls).__call__(*args, **kw) | |
return cls.instance |
private class MyWebChromeClient extends WebChromeClient { | |
private Bitmap mDefaultVideoPoster; | |
private View mVideoProgressView; | |
@Override | |
public void onShowCustomView(View view, WebChromeClient.CustomViewCallback callback) | |
{ | |
//Log.i(LOGTAG, "here in on ShowCustomView"); | |
HTML5WebView.this.setVisibility(View.GONE); | |