16b1e88e5d09a88dd77e631918aa7122a95a7ff4bMaxim Siniavine/* 26b1e88e5d09a88dd77e631918aa7122a95a7ff4bMaxim Siniavine * Copyright (C) 2014 The Android Open Source Project 36b1e88e5d09a88dd77e631918aa7122a95a7ff4bMaxim Siniavine * 46b1e88e5d09a88dd77e631918aa7122a95a7ff4bMaxim Siniavine * Licensed under the Apache License, Version 2.0 (the "License"); 56b1e88e5d09a88dd77e631918aa7122a95a7ff4bMaxim Siniavine * you may not use this file except in compliance with the License. 66b1e88e5d09a88dd77e631918aa7122a95a7ff4bMaxim Siniavine * You may obtain a copy of the License at 76b1e88e5d09a88dd77e631918aa7122a95a7ff4bMaxim Siniavine * 86b1e88e5d09a88dd77e631918aa7122a95a7ff4bMaxim Siniavine * http://www.apache.org/licenses/LICENSE-2.0 96b1e88e5d09a88dd77e631918aa7122a95a7ff4bMaxim Siniavine * 106b1e88e5d09a88dd77e631918aa7122a95a7ff4bMaxim Siniavine * Unless required by applicable law or agreed to in writing, software 116b1e88e5d09a88dd77e631918aa7122a95a7ff4bMaxim Siniavine * distributed under the License is distributed on an "AS IS" BASIS, 126b1e88e5d09a88dd77e631918aa7122a95a7ff4bMaxim Siniavine * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 136b1e88e5d09a88dd77e631918aa7122a95a7ff4bMaxim Siniavine * See the License for the specific language governing permissions and 146b1e88e5d09a88dd77e631918aa7122a95a7ff4bMaxim Siniavine * limitations under the License. 156b1e88e5d09a88dd77e631918aa7122a95a7ff4bMaxim Siniavine */ 166b1e88e5d09a88dd77e631918aa7122a95a7ff4bMaxim Siniavine 176b1e88e5d09a88dd77e631918aa7122a95a7ff4bMaxim Siniavinepackage com.framework.shareduid.bit64; 186b1e88e5d09a88dd77e631918aa7122a95a7ff4bMaxim Siniavine 196b1e88e5d09a88dd77e631918aa7122a95a7ff4bMaxim Siniavineimport android.app.Activity; 206b1e88e5d09a88dd77e631918aa7122a95a7ff4bMaxim Siniavineimport android.os.Bundle; 216b1e88e5d09a88dd77e631918aa7122a95a7ff4bMaxim Siniavineimport android.widget.TextView; 226b1e88e5d09a88dd77e631918aa7122a95a7ff4bMaxim Siniavine 236b1e88e5d09a88dd77e631918aa7122a95a7ff4bMaxim Siniavineclass Native { 246b1e88e5d09a88dd77e631918aa7122a95a7ff4bMaxim Siniavine static { 256b1e88e5d09a88dd77e631918aa7122a95a7ff4bMaxim Siniavine // The runtime will add "lib" on the front and ".o" on the end of 266b1e88e5d09a88dd77e631918aa7122a95a7ff4bMaxim Siniavine // the name supplied to loadLibrary. 276b1e88e5d09a88dd77e631918aa7122a95a7ff4bMaxim Siniavine System.loadLibrary("pmtest64"); 286b1e88e5d09a88dd77e631918aa7122a95a7ff4bMaxim Siniavine } 296b1e88e5d09a88dd77e631918aa7122a95a7ff4bMaxim Siniavine 306b1e88e5d09a88dd77e631918aa7122a95a7ff4bMaxim Siniavine static native int add(int a, int b); 316b1e88e5d09a88dd77e631918aa7122a95a7ff4bMaxim Siniavine} 326b1e88e5d09a88dd77e631918aa7122a95a7ff4bMaxim Siniavine 336b1e88e5d09a88dd77e631918aa7122a95a7ff4bMaxim Siniavinepublic class MainActivity extends Activity { 346b1e88e5d09a88dd77e631918aa7122a95a7ff4bMaxim Siniavine /** Called when the activity is first created. */ 356b1e88e5d09a88dd77e631918aa7122a95a7ff4bMaxim Siniavine @Override 366b1e88e5d09a88dd77e631918aa7122a95a7ff4bMaxim Siniavine public void onCreate(Bundle savedInstanceState) { 376b1e88e5d09a88dd77e631918aa7122a95a7ff4bMaxim Siniavine super.onCreate(savedInstanceState); 386b1e88e5d09a88dd77e631918aa7122a95a7ff4bMaxim Siniavine TextView tv = new TextView(this); 396b1e88e5d09a88dd77e631918aa7122a95a7ff4bMaxim Siniavine int sum = Native.add(2, 3); 406b1e88e5d09a88dd77e631918aa7122a95a7ff4bMaxim Siniavine tv.setText("[computed by 64 bit native code] 2 + 3 = " + String.valueOf(sum)); 416b1e88e5d09a88dd77e631918aa7122a95a7ff4bMaxim Siniavine setContentView(tv); 426b1e88e5d09a88dd77e631918aa7122a95a7ff4bMaxim Siniavine } 436b1e88e5d09a88dd77e631918aa7122a95a7ff4bMaxim Siniavine} 44