ECode CAboutActivity::OnCreate(
    /* [in] */ IBundle* savedInstanceState)
{
    Logger::D(TAG, "OnCreate()---");
    Activity::OnCreate(savedInstanceState);
    SetContentView(R::layout::activity_about);
    AutoPtr<MyListener> l = new MyListener(this);
    AutoPtr<IView> view = FindViewById(R::id::about_back);
    mBackButton = IImageView::Probe(view);
    assert(mBackButton != NULL);
    mBackButton->SetOnClickListener(l.Get());
    view = FindViewById(R::id::about_version);
    AutoPtr<ITextView> versionView = ITextView::Probe(view);
    assert(versionView != NULL);

    String pkgName, pkgVersion;
    AutoPtr<IPackageManager> pkgMgr;
    AutoPtr<IPackageInfo> pkgInfo;

    GetPackageName(&pkgName);
    GetPackageManager((IPackageManager**)&pkgMgr);
    pkgMgr->GetPackageInfo(pkgName, 0, (IPackageInfo**)&pkgInfo);
    pkgInfo->GetVersionName(&pkgVersion);
    Logger::D(TAG, "OnCreate()---pkgVersion:%s", pkgVersion.string());
    AutoPtr<ICharSequence> cs;
    CStringWrapper::New(pkgVersion, (ICharSequence**)&cs);
    versionView->SetText(cs);

    return NOERROR;
}
Beispiel #2
0
int Exec(const TCHAR *Package, DWORD dwPackParam, DWORD dwCmdLine, const TCHAR *output, const TCHAR *args)
{
	wstring _pack((wchar_t*)Package);
	wstring packName = GetPackageName(_pack);

	setlocale(0, "Japanese");
	FILE* f = _wfopen(Package, L"rb");
	if (f)
	{
		fseek(f, 0, SEEK_END);
		size_t flength = ftell(f);
		fseek(f, 0, SEEK_SET);
		buf = (unsigned char*)malloc(flength);
		fread(buf, flength, 1, f);
		fclose(f);

		//FILE* txt = _wfopen(L"test.txt",L"wb");
		wchar_t new_name[1024];
		wsprintf(new_name, L"%s.txt", packName.c_str());
		FILE* txt = _wfopen(new_name, L"wb");

		SCENEHEADER *sce_header = (SCENEHEADER*)buf;
		PFILE_INFO string_index = (PFILE_INFO)&buf[sce_header->string_index_pair.offset];
		wchar_t* string_data = (wchar_t*)&buf[sce_header->string_data_pair.offset];
		fwrite("\xFF\xFE", 2, 1, txt);
		for (DWORD x = 0; x<sce_header->string_index_pair.count; x++)
		{
			PFILE_INFO info = &string_index[x];
			wchar_t* info_str = &string_data[info->offset];
			wchar_t* new_str = new wchar_t[info->length * 2];
			memset(new_str, 0, sizeof(wchar_t)* info->length * 2);

			decrypt_string(info_str, new_str, info->length, x);
			for (int i = 0; i<info->length; i++)
			{
				fwprintf(txt, L"%c", new_str[i]);
			}
			fwprintf(txt, L"\r\n");
			delete new_str;
		}
	}
	return 0;
}
Int32 SystemProperties::CheckIfPackagesAllowed()
{
    // try{
    if (mPrivacySettingsManager == NULL) {
        // Log.e(PRIVACY_TAG,"return GOT_ERROR, because pSetMan is NULL");
        return GOT_ERROR;
    }

    AutoPtr<IPrivacySettings> settings;
    AutoPtr<ArrayOf<String> > packageNames = GetPackageName();
    Int32 uid = Process::MyUid();

    if (packageNames != NULL){
        Byte cs;
        for (Int32 i = 0; i < packageNames->GetLength(); i++) {
            settings = NULL;
            mPrivacySettingsManager->GetSettings((*packageNames)[i], uid, (IPrivacySettings**)&settings);
            //if settings is NULL, we allow application to access to mic
            if (settings != NULL) {
                settings->GetCameraSetting(&cs);
                if (cs != IPrivacySettings::REAL) {
                    return IS_NOT_ALLOWED;
                }
            }
        }
        return IS_ALLOWED;
    }

    // Log.e(PRIVACY_TAG,"return GOT_ERROR, because package_names are NULL");
    return GOT_ERROR;

    // }
    // catch (Exception e){
    //     e.printStackTrace();
    //     Log.e(PRIVACY_TAG,"Got exception in checkIfPackagesAllowed");
    //     return GOT_ERROR;
    // }
}