资源简介

Google原版Launcher3-android7.1.2,使用Android Studio 2.3.1编译打包成功,可以正常安装运行。

资源截图

代码片段和文件信息

#!/usr/bin/env python2.5

import cgi
import os
import shutil
import sys
import sqlite3

SCREENS = 5
COLUMNS = 4
ROWS = 4
CELL_SIZE = 110

DIR = “db_files“
AUTO_FILE = “launcher.db“

APPLICATION_COMPONENTS = [
  “com.android.calculator2/com.android.calculator2.Calculator“
  “com.android.providers.downloads.ui/com.android.providers.downloads.ui.DownloadList“
  “com.android.settings/com.android.settings.Settings“
  “com.android.mms/com.android.mms.ui.ConversationList“
  “com.android.contacts/com.android.contacts.activities.PeopleActivity“
  “com.android.dialer/com.android.dialer.DialtactsActivity“
]

def usage():
  print “usage: fill_screens.py -- fills up the launcher db“


def make_dir():
  shutil.rmtree(DIR True)
  os.makedirs(DIR)

def pull_file(fn):
  print “pull_file: “ + fn
  rv = os.system(“adb pull“
    + “ /data/data/com.android.launcher/databases/launcher.db“
    + “ “ + fn);
  if rv != 0:
    print “adb pull failed“
    sys.exit(1)

def push_file(fn):
  print “push_file: “ + fn
  rv = os.system(“adb push“
    + “ “ + fn
    + “ /data/data/com.android.launcher/databases/launcher.db“)
  if rv != 0:
    print “adb push failed“
    sys.exit(1)

def process_file(fn):
  print “process_file: “ + fn
  conn = sqlite3.connect(fn)
  c = conn.cursor()
  c.execute(“DELETE FROM favorites“)

  intentFormat = “#Intent;action=android.intent.action.MAIN;category=android.intent.category.LAUNCHER;launchFlags=0x10200000;component=%s;end“

  id = 0;
  for s in range(SCREENS):
    for x in range(ROWS):
      for y in range(COLUMNS):
        id += 1
        insert = “INSERT into favorites (_id title intent container screen cellX cellY spanX spanY itemType appWidgetId iconType) VALUES (%d ‘%s‘ ‘%s‘ %d %d %d %d %d %d %d %d %d)“
        insert = insert % (id “title“ ““ -100 s x y 1 1 2 -1 0)
        c.execute(insert)
        folder_id = id

        for z in range(15):
          id += 1
          intent = intentFormat % (APPLICATION_COMPONENTS[id % len(APPLICATION_COMPONENTS)])
          insert = “INSERT into favorites (_id title intent container screen cellX cellY spanX spanY itemType appWidgetId iconType) VALUES (%d ‘%s‘ ‘%s‘ %d %d %d %d %d %d %d %d %d)“
          insert = insert % (id “title“ intent folder_id 0 0 0 1 1 0 -1 0)
          c.execute(insert)

  conn.commit()
  c.close()

def main(argv):
  if len(argv) == 1:
    make_dir()
    pull_file(AUTO_FILE)
    process_file(AUTO_FILE)
    push_file(AUTO_FILE)
  else:
    usage()

if __name__==“__main__“:
  main(sys.argv)

评论

共有 条评论